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实现正则检测密码合法性
Jan 05 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
python 重定向获取真实url的方法
May 11 Python
python绘制直线的方法
Jun 30 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
Python基础学习之函数方法实例详解
Jun 18 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
python实现发送邮件
Mar 02 Python
python 递归相关知识总结
Mar 03 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
解析PHP提交后跳转
2013/06/23 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
详解使用Python处理文件目录的相关方法
2015/10/16 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python使用if语句实现一个猜拳游戏详解
2019/08/27 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python 模拟登陆github的示例
2020/12/04 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
彩色的非洲教学反思
2014/02/18 职场文书
财务会计自荐信范文
2014/02/21 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
献爱心倡议书
2014/04/14 职场文书
施工安全责任协议书
2016/03/23 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python