Python中实现列表降序排列只需使用sort(reverse=True)
,该方法直接修改原列表且高效简洁。若需保留原列表,可用sorted()
函数生成新排序列表。reverse
参数控制排序方向,key
参数支持自定义排序逻辑,两者结合可处理复杂数据结构。
Python的sort()
函数通过reverse=True
实现原地降序排列,例如[5, 2, 8, 1, 9].sort(reverse=True)
输出[9, 8, 5, 2, 1]
。此方法适合无需保留原数据的场景,性能优于生成新列表的sorted()
函数。对于元组、字典等不可变对象,需用sorted(iterable, reverse=True)
,返回新列表且原数据不变。
自定义排序规则需结合key
参数,如对字符串列表按长度降序:words.sort(key=len, reverse=True)
。复杂场景(如嵌套字典)可通过lambda表达式指定排序依据,例如按学生分数降序:students.sort(key=lambda x: x["score"], reverse=True)
。
注意:sort()
仅适用于列表,而sorted()
支持所有可迭代对象。优先选择原地排序以节省内存,但需谨慎处理原数据。若需频繁排序且保留原列表,建议预复制数据再操作。