Python sorted()函数
在 Python 中,sorted()
函数用于对序列进行排序。它可以接受多种类型的输入序列,包括列表、元组、集合和字典等。
sorted()函数语法
sorted() 函数的语法如下:
sorted(iterable, *, key=None, reverse=False)
其中:
iterable
是要排序的序列,可以是列表、元组、集合或其他可迭代对象;key
是一个可选参数,指定一个函数,用于从每个元素中提取一个用于比较的关键字,如果不指定,则使用元素自身进行比较;reverse
是一个可选参数,用于指定是否按照降序进行排序,默认为 False,即升序排序。
sorted()函数示例
下面是一些示例:
# 对列表进行升序排序
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_lst = sorted(lst)
print(sorted_lst) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# 对元组进行降序排序
tpl = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
sorted_tpl = sorted(tpl, reverse=True)
print(sorted_tpl) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
# 对集合进行升序排序,并指定排序关键字
s = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5}
sorted_set = sorted(s, key=lambda x: x % 3)
print(sorted_set) # 输出 [3, 6, 9, 1, 4, 2, 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']
sorted()
函数不会修改原始序列,而是返回一个新的已排序的列表。如果要对原始序列进行排序,则可以使用列表对象的sort()
方法。