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中的tuple元组详细介绍
Feb 02 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
给Python中的MySQLdb模块添加超时功能的教程
May 05 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
python 阶乘累加和的实例
Feb 01 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
使用python实现画AR模型时序图
Nov 20 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
python把一个字符串切开的实例方法
Sep 27 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中require和include路径问题详解
2014/12/25 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
Python脚本获取操作系统版本信息
2016/12/17 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
获取python文件扩展名和文件名方法
2018/02/02 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python空元组在all中返回结果详解
2020/12/15 Python
5.1手机促销活动
2014/01/17 职场文书
《小池塘》教学反思
2014/02/28 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
辩论赛新闻稿
2015/07/17 职场文书
初中美术教学反思
2016/02/17 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
Java移除无效括号的方法实现
2021/08/07 Java/Android