python 的sorted函數

sorted函數:sorted(iterable,key,reverse)函數

其中iterable表示能夠迭代的對象,  key是一個函數,用來選取參與比較的元素,reverse則是用來指定排序是倒序仍是順序,reverse=true則是倒序,reverse=false時則是順序,默認時reverse=falsespa

如下返回值都是單一的key值排列或者value值排列code

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>>sorted(d.keys())
['Bob', 'Michael', 'Tracy']
>>>sorted(d.values())
[75, 85, 95]
>>>sorted(d)
['Bob', 'Michael', 'Tracy']#默認就是根據key值排序
>>>sorted(d,key=lambda x: d[x])#根據value值的大小對key排序
['Bob', 'Tracy', 'Michael']

如下返回值是既包含key又包含value的列表,與上面的區別就是sorted的第一個參數不是d而是d.items(),d.items會把d變成一個可迭代對象.對象

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>>d.items()
dict_items([('Michael', 95), ('Bob', 75), ('Tracy', 85)])
>>>sorted(d.items(),key=lambda x : x[1])
[('Bob', 75), ('Tracy', 85), ('Michael', 95)]
>>>d = {'data1':3,'da':1,'dat':2,'data22':4,'aa':3,'ff':0}
>>>sorted(d.items(),key=lambda x :(x[1],x[0]))#對dict先根據value排序,value相等的根據key排序
[('ff', 0), ('da', 1), ('dat', 2), ('aa', 3), ('data1', 3), ('data22', 4)]sorted(d.items())#根據key值對整個dict排序[('aa', 3), ('da', 1), ('dat', 2), ('data1', 3), ('data22', 4), ('ff', 0)]
相關文章
相關標籤/搜索