gpt4 book ai didi

python:比较2个实例列表

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

我有 2 个实例列表:

list1
list2

每个实例都包含id、name等变量...

我正在遍历 list2,我想找到 list1 中不存在的条目。

例如..

for entry in list2:
if entry.id in list1:
<do something>

我希望找到一种无需双重 for 循环即可完成此操作的方法。有没有简单的方法?

最佳答案

我可能会这样做:

set1 = set((x.id,x.name,...) for x in list1)
difference = [ x for x in list2 if (x.id,x.name,...) not in set1 ]

其中 ... 是实例的附加(可散列)属性——您需要包含足够多的属性以使其独一无二。

这会将您的 O(N*M) 算法转换为 O(max(N,M)) 算法。

关于python:比较2个实例列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14721062/

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