Python中的sort()
函数用于对列表进行原地排序,支持升序、降序及自定义规则,是处理数据排序的核心工具。 其关键功能包括:通过reverse
参数控制排序方向,利用key
参数实现复杂对象排序,且直接修改原列表而非返回副本。与sorted()
函数不同,sort()
不生成新列表,适合需节省内存的场景。
-
基本升序/降序排序
默认升序排列列表元素,添加reverse=True
即可降序。例如:python复制
numbers = [3, 1, 4, 2] numbers.sort() # 输出[1, 2, 3, 4] numbers.sort(reverse=True) # 输出[4, 3, 2, 1]
-
自定义排序规则
通过key
参数指定排序依据,如字符串长度或对象属性:python复制
fruits = ["apple", "kiwi", "banana"] fruits.sort(key=len) # 按长度排序:["kiwi", "apple", "banana"]
-
原地修改与性能优势
sort()
直接修改原列表,适合大数据量处理;若需保留原列表,使用sorted()
生成新列表。 -
复杂数据结构排序
对嵌套列表或字典,可通过key
结合lambda表达式实现多级排序:python复制
data = [("Alice", 25), ("Bob", 20)] data.sort(key=lambda x: x[1]) # 按年龄升序
提示:优先使用sort()
处理可变列表,注意与不可变序列的sorted()
区分。灵活运用key
和reverse
能覆盖绝大多数排序需求。