【发布时间】:2018-10-22 16:21:31
【问题描述】:
我有一个预定义的单词列表;例如:
wordlist = [["one"],["two"],["three"]]
我有大量的 .txt 文件,也作为列表导入 python,例如:
corpus = ["my friend has one potato",
"i have two bananas and three apples",
"my dad has three apples"]
我想要一个公式,逐行遍历语料库,并告诉我每行包含的单词列表中的单词数量;即,示例性输出将是:
1
2
1
我不需要区分单词列表中的单词。
但是,我希望这是一个公式,以便我可以轻松地将其应用于不同的单词列表或语料库。
我没有在 SO 或其他地方找到答案。我试过的是:
wordcount_total=list()
for i in range(len(corpus)):
row=corpus[i]
wordcount_row=sum(1 for word in row.split() if word in wordlist)
wordcount_total.append(wordcount_row)
但是,这给了我:
0
0
0
非常感谢任何愿意提供帮助的人!
【问题讨论】:
-
为什么你的单词表是嵌套的?我不认为
in进行深度搜索;这只是一个肤浅的顶级会员测试。 -
您应该将
wordlist存储在一个集合中,因为它可以让您非常快速地检查集合中是否有某些东西。此外,您将wordlist作为列表列表而不是字符串列表。
标签: python python-3.x text nlp