python 多个结构体排序
时间: 2023-07-01 07:09:22 浏览: 131
结构体数组详细介绍.zip
在 Python 中,可以使用 `sorted()` 函数对多个结构体进行排序。以下是一个示例代码:
```python
from operator import attrgetter
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [
Person('John', 28),
Person('Bob', 20),
Person('Alice', 32)
]
sorted_people = sorted(people, key=attrgetter('age'))
for person in sorted_people:
print(person.name, person.age)
```
在这个示例中,我们定义了一个 `Person` 类来表示一个人,包括姓名和年龄。我们创建了一个 `people` 列表包含了三个 `Person` 实例。然后,我们使用 `sorted()` 函数对这些实例进行排序,并指定排序的关键字为 `age` 属性。最后,我们遍历排序后的结果并输出每个人的姓名和年龄。
使用 `attrgetter` 函数作为 `key` 参数可以方便地指定需要排序的属性。如果需要按多个属性进行排序,可以将多个属性名作为参数传递给 `attrgetter` 函数,例如:`key=attrgetter('age', 'name')`。
阅读全文