通过对象里的一个属性给对象排序
时间: 2024-05-01 16:20:13 浏览: 24
根据对象属性将对象排序
要通过对象的一个属性对对象进行排序,可以使用Python内置的`sorted()`函数和`lambda`表达式。例如,假设我们有一个对象列表`students`,每个对象都有一个名字和一个年龄属性:
```python
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
students = [
Student('Alice', 20),
Student('Bob', 19),
Student('Charlie', 21)
]
```
我们可以使用`sorted()`函数和`lambda`表达式按年龄对学生进行排序:
```python
sorted_students = sorted(students, key=lambda s: s.age)
```
这将返回一个按年龄从小到大排序的学生列表。如果要按年龄从大到小排序,可以使用`reverse=True`参数:
```python
sorted_students = sorted(students, key=lambda s: s.age, reverse=True)
```
这将返回一个按年龄从大到小排序的学生列表。
阅读全文