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 正则表达式 概述及常用字符
May 04 Python
python实现目录树生成示例
Mar 28 Python
zookeeper python接口实例详解
Jan 18 Python
tensorflow实现简单的卷积网络
May 24 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
python 实现识别图片上的数字
Jul 30 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
Python实现验证码识别
Jun 15 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
python excel和yaml文件的读取封装
Jan 12 Python
python中的时区问题
Jan 14 Python
python基于机器学习预测股票交易信号
May 25 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实现的MySQL数据浏览器
2007/03/11 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
PHP实现货币换算的方法
2014/11/29 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
composer.lock文件的作用
2016/02/03 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
ajax异步刷新实现更新数据库
2012/12/03 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python算法中的时间复杂度问题
2019/11/19 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python3字符串输出常见面试题总结
2020/12/01 Python
非功能性需求都包括哪些方面
2013/10/29 面试题
应届本科生推荐信范文
2013/12/25 职场文书
学生打架检讨书1000字
2014/01/16 职场文书
教师自我鉴定范文
2014/03/20 职场文书
银行委托书范本
2014/04/04 职场文书
群教班子对照检查材料
2014/08/26 职场文书
争做文明公民倡议书
2014/08/29 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
周末问候语大全
2015/11/10 职场文书
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python
Python实现简单得递归下降Parser
2022/05/02 Python