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的chardet库获得文件编码并修改编码
Jan 22 Python
跟老齐学Python之眼花缭乱的运算符
Sep 14 Python
python实现在字符串中查找子字符串的方法
Jul 11 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python的re模块使用方法详解
Jul 26 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
Python之变量类型和if判断方式
May 05 Python
Python预测2020高考分数和录取情况
Jul 08 Python
Python3如何使用range函数替代xrange函数
Oct 05 Python
深入解析NumPy中的Broadcasting广播机制
May 30 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Eclipse + Python 的安装与配置流程
2013/03/05 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
python的中异常处理机制
2018/08/30 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python RSA加密的示例
2020/12/09 Python
python多线程和多进程关系详解
2020/12/14 Python
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
护士辞职信怎么写
2015/02/27 职场文书
学校工会工作总结2015
2015/05/19 职场文书
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫