gpt4 book ai didi

python - 过滤字典列表的最快方法?

转载 作者:行者123 更新时间:2023-11-30 22:06:32 29 4
gpt4 key购买 nike

我有一个字典列表 inserts应该插入到数据库中。由于某些元素已经在数据库中 db_entry_ids ,我想把它们过滤掉。现在代码非常简单:

[d for d in inserts if d["entry_id"] not in db_entry_ids]

len(inserts) = 35000  
len(db_entry_ids) =280000

Python 需要几分钟的时间。我希望有一些简单的方法可以提高效率。

PS:d["entry_id"]是一个字符串,以及 db_entry_ids ,是一个字符串列表。所以id 可能有点误导。

最佳答案

db_entry_ids转换为集合。集合中的 not in 操作要快得多。

db_entry_ids = set(db_entry_ids)
[d for d in inserts if d["entry_id"] not in db_entry_ids]

请参阅此引用:https://wiki.python.org/moin/TimeComplexity

关于python - 过滤字典列表的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52691027/

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