首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于同义词的2的多个列表

用于同义词的2的多个列表
EN

Stack Overflow用户
提问于 2017-06-28 14:05:57
回答 1查看 146关注 0票数 0

我想从csv文件中读取同义词,其中第一个单词是“主”字,而同一记录中的其余单词是同义词。

现在我基本上想要创建一个列表,就像我在R中做的那样,

代码语言:javascript
复制
**synonyms <- list(
  list(word="ss", syns=c("yy","yyss")),
  list(word="ser", syns=c("sert","sertyy","serty"))
)**

这给了我一个清单

代码语言:javascript
复制
synonyms
[[1]]
[[1]]$word
[1] "ss"

[[1]]$syns
[1] "yy"   "yyss"


[[2]]
[[2]]$word
[1] "ser"

[[2]]$syns
[1] "sert"   "sertyy" "serty"

它本质上是“单词”和"syns“的列表。如何在读取csv文件中的单词和同义词时创建类似的列表?

任何指点都会有帮助!!谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-29 11:44:18

此过程应返回所需的内容。

代码语言:javascript
复制
# read in data using readLines
myStuff <- readLines(textConnection(temp))

这将返回一个字符向量,每一行在文件中有一个元素。注意,在文件中读取textConnection并不是必需的。只需提供文件路径。现在,使用strsplit将每个向量元素拆分成一个向量,并返回一个列表。

代码语言:javascript
复制
myList <- strsplit(myStuff, split=" ")

现在,将列表中每个向量的第一个元素与其余元素分开。

代码语言:javascript
复制
result <- lapply(myList, function(x) list(word=x[1], synonyms=x[-1]))

这将返回所需的结果。我们使用lapply来遍历列表项。对于每个列表项,我们返回一个命名列表,其中第一个元素命名为word,对应于向量的第一个元素,即列表项,该向量的其余元素被放置在第二个名为同义词的列表元素中。

代码语言:javascript
复制
result
[[1]]
[[1]]$word
[1] "ss"

[[1]]$synonyms
[1] "yy"   "yyss"


[[2]]
[[2]]$word
[1] "ser"

[[2]]$synonyms
[1] "sert"   "sertyy" "serty" 


[[3]]
[[3]]$word
[1] "at"

[[3]]$synonyms
[1] "ate"  "ater" "ates"


[[4]]
[[4]]$word
[1] "late"

[[4]]$synonyms
[1] "lated" "lates" "latee"

数据

代码语言:javascript
复制
temp <- 
"ss yy yyss
ser sert sertyy serty
at ate ater ates
late lated lates latee"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44804828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档