下面是一个示例代码,演示如何比较对象列表中的数据:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
return self.name == other.name and self.age == other.age
def __repr__(self):
return f"Person(name='{self.name}', age={self.age})"
# 创建对象列表
person_list1 = [Person("Alice", 25), Person("Bob", 30), Person("Charlie", 35)]
person_list2 = [Person("Alice", 25), Person("Bob", 30), Person("Dave", 40)]
# 比较对象列表中的数据
for person1, person2 in zip(person_list1, person_list2):
if person1 == person2:
print(f"{person1} 和 {person2} 相等")
else:
print(f"{person1} 和 {person2} 不相等")
运行上述代码,输出结果为:
Person(name='Alice', age=25) 和 Person(name='Alice', age=25) 相等
Person(name='Bob', age=30) 和 Person(name='Bob', age=30) 相等
Person(name='Charlie', age=35) 和 Person(name='Dave', age=40) 不相等
在上述代码中,我们定义了一个 Person
类,该类有两个属性 name
和 age
。为了比较两个对象是否相等,我们在 Person
类中实现了 __eq__
方法,该方法会比较两个对象的 name
和 age
属性是否相等。
然后,我们创建了两个对象列表 person_list1
和 person_list2
,并使用 zip
函数同时迭代两个列表中的对象。
在迭代过程中,我们比较了两个对象是否相等。如果相等,则打印“相等”,否则打印“不相等”。
这样,我们就可以比较对象列表中的数据了。