有没有一种更快的方法可以在python中检查句子列表中的单词



我有一个字典单词列表和一个句子列表,现在我需要检查每个单词(都不一样(,如果在中每个

word_list = ["人", "天", "地"] #over 100 ords in actual dict
input_file = ["你是不是经常也告诉自己", "不管发生什么事情", "都要微笑着面对生活"] #over 1000 sentences 
output = []
for line in input_file:
for word in word_list:
if word in line:
output.append(word) 

然而,我想知道如果我使用两个循环是否会花费更多的时间,有没有更好的方法可以完成这项工作,使用dict呢?

展开我的评论:

给定长度为m的单词列表和具有n行且平均行长为l的文件,以下适用。

要将一行转换为一组单词,您必须对其进行一次迭代:O(l(

因此,要将每一行变成一组单词,就会在O(n * l(中。

要检查一个单词是否在该单词集中,您需要执行集合查找:O(1(

因此,要检查,每个单词都将在O(m(中。

为此,对于,每个行都将位于O(n * m(中。

最新更新