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 相关文章推荐
Python3基础之基本运算符概述
Aug 13 Python
python中管道用法入门实例
Jun 04 Python
Python语言的面相对象编程方式初步学习
Mar 12 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
django做form表单的数据验证过程详解
Jul 26 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
pycharm设置当前工作目录的操作(working directory)
Feb 14 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
python 常见的排序算法实现汇总
Aug 21 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
PHP4实际应用经验篇(5)
2006/10/09 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
javascript 获取图片颜色
2009/04/05 Javascript
Javascript 学习书 推荐
2009/06/13 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
微信小程序实现topBar底部选择栏效果
2018/07/20 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
跟老齐学Python之for循环语句
2014/10/02 Python
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
python+pyqt5编写md5生成器
2019/03/18 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
《赶海》教学反思
2014/04/20 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
公积金贷款承诺书
2015/04/30 职场文书
同学会演讲稿
2019/04/02 职场文书