Python中的 sort 和 sorted的用法与区别


Posted in Python onAugust 10, 2019

今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别

1. sort:

sort是Python中列表的方法

sort() 方法语法:

list.sort(key=None, reverse=False)

有两个参数,这里不讲第一个参数,第二个参数当 reverse=True时为降序排列,reverse=False为升序排列,默认reverse=False

重要: 该方法没有返回值,也就是返回值为 None,而我也正是在这里犯错了

代码案例:

"""test"""
a = [4, 5, 6, 3, 2, 320, 5, 1] # 创建一个列表
print(a) # 打印列表,输出为:[4, 5, 6, 3, 2, 320, 5, 1]

print(a.sort()) # 输出为:None
print(a) # 输出为:[1, 2, 3, 4, 5, 5, 6, 320]

a = a.sort()
print(a) # 输出为:None

错用 a = a.sort(),以为可以把列表 a 按升序排列,其实只会把 a 变为 None,并不是真正想要的结果;正确做法是只要调用了 a.sort(),原列表 a 就变为一个升序的列表了,就可以直接使用 a 了;

2. sorted:

sorted() 函数是Python中的内置函数

语法: sorted(iterable=None, key=None, reverse=False)

共有三个参数,后两个参数和 list.sort() 方法中的参数意思没有差别,第一个参数是一个可迭代对象

返回值:返回重新排列的列表

注意:和 list.sort() 方法不一样的是,该函数不该变原来的可迭代对象,如 a 为一个列表,sorted(a) ,并不会改变 a,只会返回一个排序后的新列表

代码案例:

"""test"""
a = [4, 5, 6, 3, 2, 320, 5, 1] # 创建一个列表

print(a) # 输出:[4, 5, 6, 3, 2, 320, 5, 1]

sorted(a)
print(a)# 输出:[4, 5, 6, 3, 2, 320, 5, 1],因为sorted() 函数不会改变原先的列表

print(sorted(a))
# 输出:[1, 2, 3, 4, 5, 5, 6, 320],因为 sorted() 函数返回一个排序好的列表

a = sorted(a)
print(a)
# 现在用 sorted 函数就可以这样使用而不会出现错误了,输出:[1, 2, 3, 4, 5, 5, 6, 320]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
python获取文件真实链接的方法,针对于302返回码
May 14 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
pytorch 权重weight 与 梯度grad 可视化操作
Jun 05 Python
Python测试模块doctest使用解析
Aug 10 #Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 #Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 #Python
python实现邮件发送功能
Aug 10 #Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 #Python
python selenium登录豆瓣网过程解析
Aug 10 #Python
python matplotlib库绘制散点图例题解析
Aug 10 #Python
You might like
PHP 中执行系统外部命令
2006/10/09 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
javascript事件模型介绍
2016/05/31 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
解析python的局部变量和全局变量
2019/08/15 Python
python解释器spython使用及原理解析
2019/08/24 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
公务员平时考核实施方案
2014/03/11 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis