要按值排序对象,可以使用对象的比较函数来实现。在比较函数中,我们可以定义对象的比较逻辑,然后使用排序算法对对象进行排序。
以下是一个示例代码,展示如何按值排序对象:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __lt__(self, other):
return self.age < other.age
def __str__(self):
return f'{self.name} - {self.age}'
people = [
Person('Alice', 25),
Person('Bob', 30),
Person('Charlie', 20)
]
people.sort()
for person in people:
print(person)
在上面的代码中,我们定义了一个Person
类,具有name
和age
属性。我们还定义了__lt__
方法,该方法用于比较两个Person
对象的age
属性。根据这个比较逻辑,我们可以使用sort()
方法对people
列表进行排序。
运行上面的代码,将输出以下结果:
Charlie - 20
Alice - 25
Bob - 30
这表明对象已按照age
属性进行排序,从最小年龄到最大年龄。