sorted()函数

sorted()函数对所有可迭代的对象进行排序操作

--------------------------------sort 与sorted区别:-------------------------------------

sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。

list的sort方法返回的是对已经存在的列表进行操作,无返回值,

而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作

-------------------------------------------------------------------------------------------------------

语法:

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

参数说明:

iterable:可迭代对象

cmp--比较的函数,这个具有两个参数,参数的值都是从可迭代对象中去除,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于返回0

key---主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自可迭代对象中,指定可迭代对象中的一个元素进行【奥西。

reverse--排序规则,reverse = Ture降序,revers =False升序(默认)

返回值

重新排序的列表

实例

#保留原列表
>>> a = [5,7,6,3,4,1,2]
>>> b =sorted(a)
>>>a
[5,7,6,3,4,1,2]
>>>b
[1,2,3,4,5,6,7]

#利用cmp函数
>>>L = [("b",2),("a",1),("c",3),("d",4)]
>>>sorted(L, cmp= lambda x,y :cmp (x[1],y[1])
[("a",1),("b",2),("c",3),("d",4)]

#利用key
>>>sorted(L, key = lambda x:x[1])
[("a",1),("b",2,),("c",3),("d",4)]

>>> 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)]

>>>sorted(students, key= lambda s;s[2], reverse= True)
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
原文地址:https://www.cnblogs.com/dushuhubian/p/9636488.html