比较并删除带有标准列表的对象列表

时间:2015-10-26 16:54:06

标签: python

如何将对象列表与标准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]

我的问题是没有删除重复项,为什么?

1 个答案:

答案 0 :(得分:1)

你的清单理解是对的。

我担心这是你的x.ID有问题。尝试print [x.ID for x in A],你应该能够找到问题。