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删除指定目录下过期文件的2个脚本分享
Apr 10 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
Mar 31 Python
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
简单介绍Python中的几种数据类型
Jan 02 Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
python基于opencv检测程序运行效率
Dec 28 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
Python3基于print打印带颜色字符串
Jul 06 Python
pytorch 带batch的tensor类型图像显示操作
May 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 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
filemanage功能中用到的lib.js
2007/04/08 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
python模拟enum枚举类型的方法小结
2015/04/30 Python
java判断三位数的实例讲解
2019/06/10 Python
python中下标和切片的使用方法解析
2019/08/27 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
2014年健康教育实施方案
2014/02/17 职场文书
《王二小》教学反思
2014/02/27 职场文书
诚信承诺书范文
2014/03/27 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
JavaScript 原型与原型链详情
2021/11/02 Javascript
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
python解析照片拍摄时间进行图片整理
2022/07/23 Python