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)

返回值:返回排序后的新列表,原对象不变。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

[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。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏