Python内置函数sorted()
用于对可迭代对象进行排序并返回一个新的已排序列表,而不改变原对象。
作用详解
-
排序功能:
sorted()
函数的核心作用是对输入的可迭代对象(如列表、元组等)进行排序。它接受一个关键字参数key
,用于指定根据对象的哪个属性或函数结果进行排序。 -
不改变原对象:与
list.sort()
方法不同,sorted()
函数不会改变原对象的顺序。它返回一个新的已排序列表,因此可以对元组等不可变对象进行排序。 -
可定制排序规则:通过
key
参数,用户可以自定义排序规则。例如,根据字符串的长度、数值的大小或自定义的比较函数进行排序。 -
可指定排序顺序:
sorted()
函数接受一个reverse
参数,用于指定排序顺序。reverse=True
表示降序,reverse=False
表示升序(默认)。
使用示例
# 对列表进行升序排序
sorted_list = sorted([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])
print(sorted_list) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# 对元组进行降序排序,根据第二个元素
sorted_tuple = sorted((3, 1, 4), reverse=True, key=lambda x: x[1])
print(sorted_tuple) # 输出: [(4,), (3,), (1,)]
# 对字符串列表进行排序,根据长度
sorted_strings = sorted(["apple", "banana", "cherry"], key=len)
print(sorted_strings) # 输出: ['apple', 'banana', 'cherry']
总结
Python内置函数sorted()
提供了一种灵活且强大的方式来对各种可迭代对象进行排序,而不改变原对象。通过key
和reverse
参数,用户可以定制排序规则和顺序,满足不同的需求。