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

所属分类: 脚本专栏 / python 阅读数: 1381
收藏 0 赞 0 分享

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 matplotlib模块及柱状图用法解析

这篇文章主要介绍了Python matplotlib模块及柱状图用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Python getattr()函数使用方法代码实例

这篇文章主要介绍了Python getattr()函数使用方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Python 发送邮件方法总结

这篇文章主要介绍了Python 发送邮件的几种方法,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

拿来就用!Python批量合并PDF的示例代码

这篇文章主要介绍了Python批量合并PDF的示例代码,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Python如何爬取b站热门视频并导入Excel

这篇文章主要介绍了Python如何爬取b站热门视频并导入Excel,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Python进行统计建模

这篇文章主要介绍了Python进行统计建模的方法,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Python多线程的退出控制实现

这篇文章主要介绍了Python多线程的退出控制实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

如何在python中实现线性回归

这篇文章主要介绍了如何在python中实现线性回归,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

python多线程semaphore实现线程数控制的示例

这篇文章主要介绍了python多线程semaphore实现线程数控制的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

推荐值得学习的12款python-web开发框架

这篇文章主要介绍了值得学习的12款python-web开发框架,帮助大家更好的理解和学习Python web开发,感兴趣的朋友可以了解下
收藏 0 赞 0 分享
查看更多