以下是一个示例代码,演示如何比较对象并在列表中搜索:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
if isinstance(other, Person):
return self.name == other.name and self.age == other.age
return False
def __repr__(self):
return f"Person(name='{self.name}', age={self.age})"
# 创建一个包含Person对象的列表
person_list = [
Person("Alice", 25),
Person("Bob", 30),
Person("Charlie", 35)
]
# 创建一个用于比较的对象
target_person = Person("Bob", 30)
# 在列表中搜索匹配的对象
found_person = None
for person in person_list:
if person == target_person:
found_person = person
break
# 打印搜索结果
if found_person:
print(f"找到匹配的对象:{found_person}")
else:
print("未找到匹配的对象")
上述代码中,我们定义了一个Person
类,其中包含姓名和年龄两个属性。我们还重写了__eq__
方法来比较两个Person
对象是否相等。然后,我们创建一个包含Person
对象的列表,并创建一个用于比较的目标对象。接下来,我们使用循环遍历列表中的每个对象,并使用==
运算符来比较每个对象与目标对象是否相等。如果找到匹配的对象,则将其赋给found_person
变量,并使用break
语句结束循环。最后,我们打印出搜索结果。如果找到了匹配的对象,则打印出该对象;如果没有找到匹配的对象,则打印出未找到匹配的对象。
上一篇:比较对象并提取深层差异
下一篇:比较对象代码实际上是如何工作的?