gpt4 book ai didi

python - python 中的成员资格测试比 set() 更快

转载 作者:IT老高 更新时间:2023-10-28 20:52:15 27 4
gpt4 key购买 nike

我必须检查包含 10-100k 这些元素的列表中是否存在数百万个元素(20-30 个字母 str)。在 python 中有没有比 set() 更快的方法?

import sys
#load ids
ids = set( x.strip() for x in open(idfile) )

for line in sys.stdin:
id=line.strip()
if id in ids:
#print fastq
print id
#update ids
ids.remove( id )

最佳答案

set 尽可能快。

但是,如果您重写代码以创建 set 一次,而不更改它,则可以使用 frozenset 内置类型。除了不可变之外,它完全一样。

如果您仍然遇到速度问题,您需要通过其他方式加速您的程序,例如使用 PyPy而不是 cPython。

关于python - python 中的成员资格测试比 set() 更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110276/

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