sorted()
是 Python 内置的用于排序可迭代对象的函数。
函数语法
sorted(iterable, key=None, reverse=False)
参数:
iterable
:可迭代对象,如列表、元组、字符串等。key
(可选):用于指定一个函数,它将被用于每个元素来提取用于排序的比较键。默认为None
,表示直接比较元素本身。reverse
(可选):一个布尔值,用于指定是否按降序排序。默认为False
,表示升序排序。
示例代码
对列表进行升序排序:
numbers = [5, 2, 8, 1, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
运行结果:
[1, 2, 3, 5, 8]
对字符串列表按字符串长度排序:
words = ['apple', 'banana', 'cherry', 'date', 'elderberry']
sorted_words = sorted(words, key=len)
print(sorted_words)
运行结果:
['date', 'apple', 'cherry', 'banana', 'elderberry']
对字典列表按值排序:
people = [
{'name': 'Alice', 'age': 30},
{'name': 'Bob', 'age': 25},
{'name': 'Eve', 'age': 28}
]
sorted_people = sorted(people, key=lambda x: x['age'])
print(sorted_people)
运行结果:
[ {'name': 'Bob', 'age': 25}, {'name': 'Eve', 'age': 28}, {'name': 'Alice', 'age': 30}]
降序排序:
numbers = [5, 2, 8, 1, 3]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
运行结果:
[8, 5, 3, 2, 1]
总结
它的强大之处在于可以通过 key
参数指定自定义排序规则,而且支持升序和降序排列。通过合理使用 key
函数,你可以在排序时按照自己的需求对元素进行定制化的比较和排序操作。