如何将对象列表与标准ID列表进行比较,然后从原始列表中删除所有重复项?
这是我的问题:
我在Python中有两个列表。
答:
[<id_definitions.Wrapper object at 0x110490ba8>, <id_definitions.Wrapper object at 0x110490c18>, <id_definitions.Wrapper object at 0x110490be0>]
B:
[1, 2]
A
是一个对象列表,每个对象都有一个名为ID
的属性。列表B
只是ID列表(不是对象)。
我想从B
删除列表A
中显示的所有ID。
这就是我的尝试:
new_list = [x for x in A if x.ID not in B]
我的问题是没有删除重复项,为什么?
答案 0 :(得分:1)
你的清单理解是对的。
我担心这是你的x.ID
有问题。尝试print [x.ID for x in A]
,你应该能够找到问题。