#PY小贴士# 同样是排序,sort和sorted有啥不同?

简介: Python 这么设计固然有它的道理(sorted 是后引入的,对 sort 的补充),但这并不是必然的选择。比如与 sorted 功能有些类似的,random 模块的 shuffle 方法,就是在原列表基础上打乱顺序,而非返回一个新列表

对列表中的元素进行排序,有两种常用方法:


1.


lst = [3, 5, 2, 1, 7]
lst.sort()
print(lst)


2.


lst = [3, 5, 2, 1, 7]
lst = sorted(lst)
print(lst)


虽然二者都可以实现排序,也都可以设定 key(排序函数)和 reverse(逆序)参数,但在使用时却有个很大的区别:

  • list 的 sort 方法是在原列表上进行排序,没有返回值,调用后列表中的元素即成为有序的。如果你把结果赋值,就会得到 None;
  • 内置函数 sorted 则不修改原列表,而是生成一个新列表作为返回值。所以调用后必须赋值给变量才能保存结果。


Python 这么设计固然有它的道理(sorted 是后引入的,对 sort 的补充),但这并不是必然的选择。比如与 sorted 功能有些类似的,random 模块的 shuffle 方法,就是在原列表基础上打乱顺序,而非返回一个新列表。


你很难仅从方法的所属和名称就判断它的参数和返回值是怎样的。比如 range(a, b) 是包括 a 不包括 b,而 random.randint(a, b) 则是包括 a 也包括 b。


所以你在使用一个方法时,必定需要查阅相关文档,或在 python shell 中使用 help(方法名),了解参数和返回值的具体限定。





 #PY小贴士#里,我们会分享一些 python 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!

如果你在编程学习中有疑问,可选择以下方式向我们提问:

1. 加入码上行动答疑群(最及时响应)

2. 加入知识星球 https://t.zsxq.com/IiAiiQj

3. 发微博加上 #编程教室# @Crossin(非私信)

提问时请表述清楚,附上必要代码、输出等截屏。

也可向本栏目投稿,分享你开发中的经验。采纳后将署名发表,并可附上个人博客、公众号、Github等介绍。

相关文章
|
存储 Python
Python计算三角形的面积
Python计算三角形的面积
|
数据安全/隐私保护 Docker 容器
JetLinks 社区版安装
JetLinks 社区版安装
791 0
BXA
|
机器学习/深度学习 人工智能 算法
Python Web开发完全指南
在本文中将逐步了解Python Web开发的基础知识,包括Python语言特点、Web基础、Web开发环境搭建等方面的内容。希望这篇文章能够帮助您掌握Python Web开发的基础知识为您开展Python Web开发之路提供帮助
BXA
776 0
|
存储 算法 Unix
操作系统丨测试(一)
操作系统丨测试(一)
361 0
|
分布式计算 Hadoop 关系型数据库
Spark First Sample Demo
<h2><span style="font-family:KaiTi_GB2312; font-size:14px">1. 运行环境</span></h2> <ul><li><span style="font-family:KaiTi_GB2312; font-size:14px">OS:</span></li></ul> <p></p> <p><span style="font-fa
2685 0
|
6天前
|
存储 JavaScript 前端开发
JavaScript基础
本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)
|
5天前
|
云安全 人工智能 安全
阿里云2026云上安全健康体检正式开启
新年启程,来为云上环境做一次“深度体检”
1609 6
|
7天前
|
安全 数据可视化 网络安全
安全无小事|阿里云先知众测,为企业筑牢防线
专为企业打造的漏洞信息收集平台
1333 2
|
1天前
|
消息中间件 人工智能 Kubernetes
阿里云云原生应用平台岗位急招,加入我们,打造 AI 最强基础设施
云原生应用平台作为中国最大云计算公司的基石,现全面转向 AI,打造 AI 时代最强基础设施。寻找热爱技术、具备工程极致追求的架构师、极客与算法专家,共同重构计算、定义未来。杭州、北京、深圳、上海热招中,让我们一起在云端,重构 AI 的未来。