我们需要对List进行排序,Python提供了两个方法
对给定的ListL进行排序,
方法1.用List的成员函数sort进行排序
方法2.用built-in函数sorted进行排序(从2.4开始)--------------------------------sorted---------------------------------------
help(sorted)
Helponbuilt-infunctionsortedinmodule__builtin__:sorted(...)
sorted(iterable,cmp=None,key=None,reverse=False)-->newsortedlist
---------------------------------sort----------------------------------------help(list.sort)
Helponmethod_descriptor:sort(...)
L.sort(cmp=None,key=None,reverse=False)--stablesort*INPLACE*;
cmp(x,y)->-1,0,1
-----------------------------------------------------------------------------iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则.reverse=True或者reverse=False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。注;一般来说,cmp和key可以使用lambda表达式。
sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。
L=[(b,2),(a,1),(c,3),(d,4)]
printsorted(L,cmp=lambdax,y:cmp(x[1],y[1]))
[(a,1),(b,2),(c,3),(d,4)]L=[(b,2),(a,1),(c,3),(d,4)]
printsorted(L,key=lambdax:x[1]))
[(a,1),(b,2),(c,3),(d,4)]本文内容总结:Sortingbasic:,Sortingcmp:,Sortingkeys:,Sortingreverse:,
原文链接:https://www.cnblogs.com/65702708/archive/2010/09/14/1826362.html