sorted()函数

Posted dushuhubian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)]

 

以上是关于sorted()函数的主要内容,如果未能解决你的问题,请参考以下文章

java8 .stream().sorted().filter().map().collect()用法

Python sorted 函数用法

内置函数sorted-reversed使用例程

Python sorted函数|sorted([13,1,237,89,100],key=lambda x:len(str(x)))

Python sorted函数|sorted([13,1,237,89,100],key=lambda x:len(str(x)))

VSCode自定义代码片段——声明函数