Python 内建函数列表 > Python 的内置函数 sorted
Python 的内置函数 sorted() 是一个用于排序的可迭代对象的高阶函数,它接受一个可迭代对象作为输入,并返回一个新的已排序的列表。与列表的 sort() 方法不同,sorted() 不会修改原始的可迭代对象,而是生成一个新的排序后的列表。
基本用法
1 | sorted(iterable, key=None, reverse=False) |
- iterable:需要排序的可迭代对象(如列表、元组、字符串等)
- key(可选):指定一个函数作为排序的关键字,默认为
None - reverse(可选):布尔值,指定是否降序排序,默认为
False(升序)
示例说明
1. 基本排序
1 | numbers = [5, 2, 9, 1, 5, 6] |
2. 降序排序
1 | numbers = [5, 2, 9, 1, 5, 6] |
3. 使用 key 参数
key 参数允许你指定一个函数,用于从每个元素中提取比较键。例如,对字符串列表按长度排序:
1 | words = ["apple", "banana", "cherry", "date"] |
4. 复杂对象排序
假设有一个学生列表,每个学生是一个字典:
1 | students = [ |
应用场景
- 数据预处理:在数据分析或机器学习中,经常需要对数据进行排序。
- 展示排序结果:在网页或应用中展示排序后的列表。
- 算法实现:某些算法(如合并排序)可能需要使用
sorted()作为辅助函数。
注意事项
- 对于大型数据集,
sorted()可能会消耗较多内存,因为它需要创建一个新的列表。 - 如果需要对列表进行原地排序,可以使用
list.sort()方法,它不会创建新的列表。
通过灵活使用 key 和 reverse 参数,sorted() 函数能够满足各种复杂的排序需求。
《Python 的内置函数 sorted》 是转载文章,点击查看原文。