python中sort、sorted、reverse和reversed函数有什么区别
这篇文章主要为大家展示了python中sort、sorted、reverse和reversed函数有什么区别,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
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函数有什么区别的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。