sorted() 排序返回新列表
最后更新:2026-09-22
sorted() 排序返回新列表
sorted(iterable, *, key=None, reverse=False) 返回新排序列表,原对象不变;可指定 key 函数与倒序。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | all |
📝 语法
sorted(iterable, *, key=None, reverse=False)
⚙️ 参数
| iterable 必选 | 待排序的可迭代对象。 |
|---|---|
| key 可选 | 排序键函数,对每个元素调用一次。(默认值:None) |
| reverse 可选 | 为 True 时降序排列。(默认值:False) |
返回值:返回排序后的新列表,原对象不变。
💥 异常
TypeError— 元素之间无法比较时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
[1, 2, 3]
['apple', 'banana']
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qsorted() 和 list.sort() 有什么区别?
Asorted() 返回新列表、原对象不变,可作用于任何可迭代对象;lst.sort() 原地排序、返回 None,只适用于列表。
Q排完序原来的列表变了吗?
A没有。sorted([3, 1, 2]) 返回新列表 [1, 2, 3],原列表保持 [3, 1, 2];想原地修改用 lst.sort()。
Qsorted(lst, key=len, reverse=True) 是什么意思?
A按字符串长度降序排列:key 指定比较依据(每个元素计算一次),reverse=True 表示降序。
Q为什么 sorted([1, 'a']) 报 TypeError?
Aint 和 str 之间没有定义大小比较,混合类型无法排序;排序前应保证元素类型一致或提供 key。