gpt4 book ai didi

python - 加快列表中的查找项(通过 Python)

转载 作者:行者123 更新时间:2023-11-28 21:21:34 25 4
gpt4 key购买 nike

我有一个非常大的列表,我必须为此列表运行大量查找。更具体地说,我处理一个大的(> 11 Gb)文本文件进行处理,但有些项目不止一次出现,我只在它们出现时先处理它们。如果模式出现,我会对其进行处理,并将其放入列表中。如果该项目再次出现,我会在列表中检查它,如果是,那么我只是传递给处理,如下所示:

[...]
if boundary.match(line):
if closedreg.match(logentry):
closedthreads.append(threadid)
elif threadid in closedthreads:
pass
else:
[...]

代码本身远非最佳。我的主要问题是“closedthreads”列表包含几百万个项目,整个操作开始变得越来越慢。我认为在每次 append() 之后对列表进行排序(或使用“排序列表”对象)可能会有所帮助,但我不确定这一点。什么是最优雅的解决方案?

最佳答案

您可以简单地使用一个集合或哈希表来标记给定的 id 是否已经出现。它应该可以解决您添加和查找项目的时间复杂度为 O(1) 的问题。

关于python - 加快列表中的查找项(通过 Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21140013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com