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 相关文章推荐
python网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
Python中的闭包总结
Sep 18 Python
跟老齐学Python之赋值,简单也不简单
Sep 24 Python
python修改字典内key对应值的方法
Jul 11 Python
使用python为mysql实现restful接口
Jan 05 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
学习python的前途 python挣钱
Feb 27 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
Pycharm运行加载文本出现错误的解决方法
Jun 27 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
安装不同版本的tensorflow与models方法实现
Feb 20 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 Squid中可缓存的动态网页设计
2008/09/17 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
使用python制作一个解压缩软件
2019/11/13 Python
python如何实时获取tcpdump输出
2020/09/16 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
python中最小二乘法详细讲解
2021/02/19 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
私有程序集与共享程序集有什么区别
2013/04/05 面试题
创业计划书的写作技巧及要点
2014/01/31 职场文书
平安工地汇报材料
2014/08/19 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
Python利用zhdate模块实现农历日期处理
2022/03/31 Python