在 Python 中,sorted()函数用于对序列进行排序,它不修改原序列,返回一个新的已排序序列,且可以自定义排序规则。
函数语法
sorted(iterable, *, key=None, reverse=False)
参数:
iterable:要排序的序列,可以是列表、元组、集合或其他可迭代对象;key:可选,指定一个函数,用于从每个元素中提取一个用于比较的关键字,如果不指定,则使用元素自身进行比较;reverse:可选,表示排序方法,True为降序,False为升序,默认为False;
sorted()函数不会修改原始序列,而是返回一个新的已排序的列表。
sorted()函数示例
下面是一些使用示例:
# 升序排序
lst = [3, 1, 4, 1, 5, 9]
sorted_lst = sorted(lst)
print(sorted_lst) # [1, 1, 3, 4, 5, 9]
# 不会改变原序列
print(lst) # [3, 1, 4, 1, 5, 9]
# 降序排序
sorted_lst = sorted(lst, reverse=True)
print(sorted_lst) # [9, 5, 4, 3, 1, 1]
# 指定排序关键字
sorted_lst = sorted(lst, key=lambda x: x % 3)
print(sorted_lst) # [3, 9, 1, 4, 1, 5]
d = {'a': 3, 'b': 1, 'c': 4, 'd': 1, 'e': 5}
sorted_keys = sorted(d, key=lambda k: d[k])
print(sorted_keys) # ['b', 'd', 'a', 'c', 'e']