我正在使用单词列表进行项目。我想结合两个单词列表,但只存储唯一的单词。
我正在读取文件中的文字,并且似乎需要很长时间才能读取文件并将其存储为列表。我打算复制相同的代码块并使用第二个(或任何后续的)word文件运行它。代码的缓慢部分如下所示:
.cart
如果我错了,请纠正我,但我认为该程序的缓慢(可能)部分是"而不是"比较。有什么方法可以重写它以使其更快?
答案 0 :(得分:6)
从这条线来判断:
if inLine not in inList:
inList.append(inLine)
您似乎在inList
容器中强制执行唯一性。您应该考虑使用更有效的数据结构,例如inSet
集。然后not in
检查可以作为冗余丢弃,因为容器将阻止重复检查。
如果必须保留插入顺序,则可以使用带有空值的OrderedDict
来获得类似的结果。
答案 1 :(得分:0)
如果你想组合两个列表并删除重复项,你可以尝试这样的事情:
combined_list = list(set(first_list) | set(second_list))