python sort key 倒序
时间: 2025-01-21 11:18:51 浏览: 41
### Python 中 `sort` 函数的 `key` 参数实现倒序排序
为了在 Python 中使用 `sort()` 或者 `sorted()` 方法按照特定标准进行降序排列,可以利用 `reverse=True` 参数。当仅需简单反转列表顺序时,此方法非常有效。
对于更复杂的排序需求,比如基于字典中的值或其他对象属性排序,则可以通过组合 `key` 和 `reverse` 参数完成操作:
```python
d = {5: 1, 4: 2, 3: 3, 2: 4, 1: 5}
a = dict(sorted(d.items(), key=lambda item: item[0], reverse=True))
print("After sorting by key in descending order:", a)
```
上述代码展示了如何通过设置 `reverse=True` 来改变默认升序行为,从而达到按键降序的效果[^1]。
同样的逻辑也适用于其他数据结构,例如包含自定义类实例的列表。下面的例子说明了如何根据学生的年龄来进行逆向排序:
```python
from operator import attrgetter
class Student(object):
def __init__(self, name, grade, age):
self.name = name
self.grade = grade
self.age = age
def __repr__(self):
return f"Student(name={self.name}, grade={self.grade}, age={self.age})"
students = [
Student('join', 90, 15),
Student('alex', 87, 13),
Student('eleven', 100, 17)
]
ls_age_descending = sorted(students, key=attrgetter('age'), reverse=True)
print(ls_age_descending)
```
这段代码不仅实现了对学生对象依据其年龄属性的降序排序,还引入了 `operator.attrgetter` 这一更为简洁的方式来获取对象属性作为排序关键字[^3]。
阅读全文
相关推荐


















