python中sorted函數(shù)

sorted

iterable:是可迭代類型;

cmp:用于比較的函數(shù),比較什么由key決定,有默認值,迭代集合中的一項;

key:用列表元素的某個屬性和函數(shù)進行作為關鍵字,有默認值,迭代集合中的一項;

reverse:排序規(guī)則. reverse = True 或者 reverse = False,有默認值。

返回值:是一個經(jīng)過排序的可迭代類型,與iterable一樣。

注;一般來說,cmp和key可以使用lambda表達式。

舉例:

M=[('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]

若:sorted(l, key=lambda x:x[0])

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

若:sorted(l, key=lambda x:x[1])

則:[('a', 1), ('b', 2), ('e', 3), ('d', 4), ('c', 6)]

舉例

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

>>>print?sorted(L,cmp=lambda x,y:cmp(x[1],y[1]))

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

比較兩個維度的大小。


Python3中已經(jīng)不能使用cmp()函數(shù)了,被如下五個函數(shù)替代:

import operator? ? ? #首先要導入運算符模塊

operator.gt(1,2)? ? ? #意思是greater than(大于)

operator.ge(1,2)? ? ? #意思是greater and equal(大于等于)

operator.eq(1,2)? ? ? #意思是equal(等于)

operator.le(1,2)? ? ? #意思是less and equal(小于等于)

operator.lt(1,2)? ? ? #意思是less than(小于)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容