Python:比大型列表更快的东西?

时间:2017-03-28 15:52:07

标签: python

我正在使用单词列表进行项目。我想结合两个单词列表,但只存储唯一的单词。

我正在读取文件中的文字,并且似乎需要很长时间才能读取文件并将其存储为列表。我打算复制相同的代码块并使用第二个(或任何后续的)word文件运行它。代码的缓慢部分如下所示:

.cart

如果我错了,请纠正我,但我认为该程序的缓慢(可能)部分是"而不是"比较。有什么方法可以重写它以使其更快?

2 个答案:

答案 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))
相关问题