Python中的sorted()
函数用于对可迭代对象(如列表、元组等)进行排序,返回一个新的有序列表,支持自定义排序规则和稳定性排序。
-
基本用法
sorted()
默认对数字按升序、字符串按字典序排序。例如:numbers = [3, 1, 4, 2] sorted_numbers = sorted(numbers) # 输出 [1, 2, 3, 4]
支持任何可迭代对象,包括元组和字符串。
-
自定义排序
通过key
参数指定排序依据。例如按字符串长度排序:words = ["apple", "banana", "cherry"] sorted_words = sorted(words, key=len) # 输出 ['apple', 'cherry', 'banana']
还可结合
lambda
实现复杂逻辑,如按元组的第二个元素排序。 -
降序与稳定性
添加reverse=True
实现降序:sorted(numbers, reverse=True) # 输出 [4, 3, 2, 1]
sorted()
是稳定排序,相同键值的元素保持原始顺序。 -
与其他排序方法对比
与列表的sort()
方法不同,sorted()
不修改原对象,而是生成新列表,适合不可变对象或链式操作。
总结:sorted()
灵活且易用,通过key
和reverse
参数可满足多数排序需求,是处理数据整理的利器。