python中sort sorted reverse reversed函数的区别说明


Posted in Python onMay 11, 2020

sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值。

sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组、字符串是不具有这些方法的,如果调用将会返回一个异常。

代码如下:

>>> a=[5,4,3,2,1]
>>> a.sort()
>>> [1, 2, 3, 4, 5]
>>> a
>>> [1, 2, 3, 4, 5]

sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。

代码如下:

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]

>>> sorted(mystring)
>>>[1, 2, 3, 4, 5]

>>>mystring
>>>"54321"

>>> sorted(mytuple)
>>>[1, 2, 3, 4, 5]

>>> sorted(mylist)
>>>[1, 2, 3, 4, 5]

reverse()与sort的使用方式一样,而reversed()与sorted()的使用方式相同。

代码如下:

>>> mylist=[5,4,3,2,1]
>>> mylist.reverse()
>>> mylist
>>>[1, 2, 3, 4, 5]

>>> for i in reversed(mylist):
>>>print i,
>>>1 2 3 4 5

通过序列的切片也可以达到“逆转”的效果

代码如下:

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]

>>> mystring[::-1]

>>>'12345'
>>> mytuple[::-1]
>>>(1, 2, 3, 4, 5)
>>> mylist[::-1]

>>>[1, 2, 3, 4, 5]

补充知识:python sorted()函数cmp,key,reverse参数详解

Python帮助文档中对sorted方法的讲解:

sorted(iterable[,cmp,[,key[,reverse=True]]])

作用:返回一个经过排序的列表。

第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list)。

可选的参数有三个,cmp、key和reverse。

1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。

2)key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。

3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。

key参数的值应该是一个函数,这个函数接收一个参数并且返回一个用于比较的关键字。对复杂对象的比较通常是使用对象的切片作为关键字。

例如:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=lambda s: s[2]) #按年龄排序
# [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

以上这篇python中sort sorted reverse reversed函数的区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python编写android截屏脚本双击运行即可
Jul 21 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
python表格存取的方法
Mar 07 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
python修改FTP服务器上的文件名
Sep 11 Python
python+OpenCV实现图像拼接
Mar 05 Python
Python操作Excel把数据分给sheet
May 20 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
Python基础之元类详解
Apr 29 Python
python的reverse函数翻转结果为None的问题
May 11 #Python
Pyecharts地图显示不完成问题解决方案
May 11 #Python
将python字符串转化成长表达式的函数eval实例
May 11 #Python
python函数中将变量名转换成字符串实例
May 11 #Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 #Python
基于python实现获取网页图片过程解析
May 11 #Python
python将unicode和str互相转化的实现
May 11 #Python
You might like
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
python三元运算符实现方法
2013/12/17 Python
连接Python程序与MySQL的教程
2015/04/29 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
python 变量初始化空列表的例子
2019/11/28 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
python中pivot()函数基础知识点
2021/01/03 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
params有什么用
2016/03/01 面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
应届大学生自荐信格式
2013/09/21 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
自我鉴定怎么写
2014/01/12 职场文书
教师个人发展总结
2015/02/11 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书