找到单词列表是否在字符串中的有效方法?

时间:2015-09-23 04:25:58

标签: python nltk

我有一个带有2000个名为 words_list 元素的python列表和一个名为“paragraph_list”的1000个长字符串列表...我想知道什么是最有效的方法来了解是否有元素 words_list 是“paragraph_list”元素的子串(不区分大小写)?

我尝试过:

for word in words_list:
    for paragraph in paragraphs_list:
        if word in paragraph:
            print "success"

但我认为可能有更好的方法来比较两个列表。我尝试使用nltk和一致性函数但是,我无法在不生成文件的情况下读取我的paragraph_list,但不是必需的因为我不需要读取文件,只需要纯文本。谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用set,它就像一个哈希表,因此检测字符串是否在集合中是O(1)。

paragraphs_set = set(paragraphs_list)
for word in words_list:
    if word in paragraphs_set:
        print "success"