【python中的sorted函数】在Python中,`sorted()` 是一个非常常用且强大的内置函数,用于对可迭代对象进行排序。它能够处理列表、元组、字符串等数据类型,并返回一个新的已排序的列表,而不会改变原始数据。
以下是对 `sorted()` 函数的总结与使用方式的整理:
一、函数简介
参数 | 说明 |
`iterable` | 需要排序的可迭代对象(如列表、元组、字符串等) |
`key` | 可选参数,用于指定排序时的键函数(如 `str.lower`) |
`reverse` | 可选参数,若为 `True`,则按降序排列;默认为 `False`(升序) |
二、基本用法示例
示例 | 说明 |
`sorted([3, 1, 2])` | 返回 `[1, 2, 3]` |
`sorted("cba")` | 返回 `['a', 'b', 'c']` |
`sorted((5, 3, 1))` | 返回 `[1, 3, 5]` |
`sorted(["banana", "apple", "cherry"], key=len)` | 按字符串长度排序,结果为 `['apple', 'banana', 'cherry']` |
`sorted([3, 1, 2], reverse=True)` | 返回 `[3, 2, 1]` |
三、与 `list.sort()` 的区别
特性 | `sorted()` | `list.sort()` |
是否返回新列表 | ✅ 是 | ❌ 否 |
是否修改原列表 | ❌ 否 | ✅ 是 |
支持所有可迭代对象 | ✅ 是 | ❌ 仅支持列表 |
四、实际应用场景
- 对用户输入的数据进行排序展示
- 处理文件内容并按行排序
- 在数据分析中对数据集进行预处理
- 对字典的键或值进行排序
五、注意事项
- `sorted()` 不会修改原始数据,适合需要保留原数据的场景。
- 如果需要自定义排序规则,可以使用 `key` 参数。
- 当处理大量数据时,注意时间复杂度(默认为 O(n log n))。
通过合理使用 `sorted()` 函数,我们可以更高效地处理数据排序问题,提升代码的可读性和灵活性。