gpt4 book ai didi

python - Python 中返回不在第二个列表中的列表元素的更有效方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:20 25 4
gpt4 key购买 nike

在 python 中有更快的方法吗?

[f for f in list_1 if not f in list_2]

list_1 和 list_2 都包含大约 120.000 个字符串。生成新列表大约需要 4 分钟。

最佳答案

如果将 list_2 放入 set 中,它应该会使包含检查更快:

s = set(list_2)
[f for f in list_1 if not f in s]

这是因为 x in list 是 O(n) 检查,而 x in set 是常数时间。

另一种方法是使用集差:

list(set(list_1).difference(set(list_2)))

但是,这可能不会比第一种方法快 - 而且,它会从 list_1 中删除您可能不想要的重复项。

关于python - Python 中返回不在第二个列表中的列表元素的更有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3003390/

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