下面是一个示例代码,演示了如何按照对象的子对象对对象进行排序:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person(name={self.name}, age={self.age})"
# 创建一些Person对象
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)
person3 = Person("Charlie", 20)
# 创建一个包含Person对象的列表
persons = [person1, person2, person3]
# 按照age属性对persons列表进行排序
sorted_persons = sorted(persons, key=lambda person: person.age)
# 打印排序后的结果
for person in sorted_persons:
print(person)
这段代码创建了一个Person
类,每个Person
对象都有一个name
和一个age
属性。然后,创建了几个Person
对象,并将它们存储在一个列表中。
使用sorted
函数对persons
列表进行排序,传递一个key
函数作为参数。key
函数指定了按照哪个属性进行排序,这里使用lambda
函数定义了一个匿名函数,根据person
对象的age
属性进行排序。
最后,使用循环打印排序后的结果,即按照age
属性从小到大的顺序输出Person
对象。
上一篇:按其字段的不同值分组领域对象
下一篇:按其组件单独排序的UNION查询