我正在开发一个模块,该模块依赖于检查两个列表中是否存在任何不存在的对象。该实现应该在 Python 中。
考虑简化的对象 def:
class Foo(object):
def __init__(self, attr_one=None, attr_two=None):
self.attr_one = attr_one
self.attr_two = attr_two
def __eq__(self, other):
return self.attr_one == other.attr_one and self.attr_two == other.attr_two
我有两个单独的列表,它们可以封装 Foo 类的多个实例,如下所示:
list1 = [Foo('abc', 2), Foo('bcd', 3), Foo('cde', 4)]
list2 = [Foo('abc', 2), Foo('bcd', 4), Foo('efg', 5)]
我需要根据 attr_one 找出一个列表中存在而另一个列表中不存在的对象。在这种情况下,下面给出了第一个列表中存在而第二个列表中缺少的项目的所需输出。
`['Foo('bcd', 3), Foo('cde', 4)]`
同样,列表 2 中存在但列表 1 中不存在的项目
[Foo('bcd', 4), Foo('efg', 5)]
我想知道是否有办法匹配 attr_one 的基础。
List 1 List 2
Foo('bcd', 3) Foo('bcd', 4)
Foo('cde', 4) None
None Foo('efg', 5)