我有一个字典单词列表和一个句子列表,现在我需要检查每个单词(都是不同的)如果在中每个语句(都不同),所以我的代码是这样的,
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呢?
发布于 2022-09-08 09:52:30
为了扩大我的评论:
给出一个长度为m的单词列表和一个具有平均行长为l的n行的文件,如下所示。
若要将一行转换为一组单词,您必须对其进行一次迭代: O(l).
因此,要将O(n * l).中的每个行转换为一组单词,就需要在中使用
要检查这组单词中是否有一个单词,您需要执行一个集合查找: O(1).。
因此,要检查O(m).,每个单词都在中。
为此,每个O(n * m).行都将位于中。
https://stackoverflow.com/questions/73646901
复制相似问题