python内置函数sorted


python内置函数sorted

sorted与sort

sort:是对list排序的所用方法,是对已经存在的原列表进行操作,没有返回值。

sorted:可以对所有可迭代的对象(元组、列表等)进行排序。返回一个新的列表,不会对原有的对象进行操作。

sorted语法

sorted(iterable,cmp=None,key=None,reverse=False)

iterable——可迭代对象(用来排序的列表、元组等)

cmp——比较的函数,两个参数,参数值由迭代对象中取出,函数有返回值:大于则返回1,小于返回-1,等于返回0。

    具体写法为:cmp=lambda x,y:x[1],y[1](x,y表示用来排序的元组或者列表等的元素,‘1’代表元素的下标)

key——主要用来进行比较的元素,只有一个参数,参数为迭代对象中取出的元素,指定可迭代对象的元素来进行排序。

    具体写法为:key=lambda x:x[1](x表示排序的对象中的元素,‘1’表示元素的下标)

  cmp与key类似,但是cmp是2个参数,而key只有一个参数。对于待排序的对象,cmp会被多次调用,key只会被调用一次。

reverse——排序规则,reverse=True:降序;reverse=False升序(默认)。

实例

(不同的代码编译环境存在差异)

L=[('d',1),('a',4),('e',3),('c',2)]

print sorted(L,cmp=lambda x,y:x[1],y[1])#利用cmp函数对L中对象的数字升序排列

print sorted(L,cmp=lambda x,y:x[0],y[0],reverse=True) #利用cmp函数对L中对象的字母进行降序排列

print sorted(L,key=lambda x:x[0])#利用key函数对L中的元素的字母进行升序排列

print sorted(L,key=lambda x:x[1],reverse=True)#利用key函数对L中的元素的数字进行降序排列

print L#对L进行输出

#输出结果为:

[('d',1),('c',2),('e',3),('a',4)]

[('e',3),('d',1),('c',2),('a',4)]

[('a',4),('c',2),('d',1),('e',3)]

[('a',4),('e',3),('c',2),('d',1)]

[('d',1),('a',4),('e',3),('c',2)]#L没有改变


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM