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实现的阳历转阴历(农历)算法
Apr 25 Python
让 python 命令行也可以自动补全
Nov 30 Python
python之PyMongo使用总结
May 26 Python
用python结合jieba和wordcloud实现词云效果
Sep 05 Python
python实现将汉字保存成文本的方法
Nov 16 Python
正确理解Python中if __name__ == '__main__'
Jan 24 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
Django Model中字段(field)的各种选项说明
May 19 Python
Python3爬虫中关于中文分词的详解
Jul 29 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 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 IPV6正则表达式验证代码
2010/02/16 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
js parseInt("08")未指定进位制问题
2010/06/19 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
js实现日期级联效果
2014/01/23 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
深入浅析python定时杀进程
2016/06/06 Python
Python线程创建和终止实例代码
2018/01/20 Python
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
Python列表切片操作实例总结
2019/02/19 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
python打包多类型文件的操作方法
2020/09/21 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
保护环境倡议书300字
2014/05/19 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
捐款仪式主持词
2015/07/04 职场文书
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers