python技巧 使用值來排序一個字典

丁壯發表於2018-11-15

In [8]: a={`x`:11,`y`:22,`c`:4}

In [9]: import operator

In [10]: sorted(a.items(),key=operator.itemgetter(1))
Out[10]: [(`c`, 4), (`x`, 11), (`y`, 22)]

In [11]: a={`x`:11,`y`:22,`c`:4}

In [12]: sorted(a.items(),key=lambda x:x[1])
Out[12]: [(`c`, 4), (`x`, 11), (`y`, 22)]

 

sort 方法會就地排序列表,不會把原列表複製一份

sorted 會新建一個列表作為返回值,接受任何形式的可迭代物件作為引數

 

sorted 和 sort的可選引數:

  reverse  預設為False,如果設定為True則降序排列

      key 這個是一個只有一個引數的函式,會應用到序列中的每一個元素上,如果key=len,就會按照字串的長度排序

相關文章