1. 程式人生 > >[轉載] python的sorted函式,對字典按key排序和按value排序

[轉載] python的sorted函式,對字典按key排序和按value排序

先來基本介紹一下sorted函式,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。

其中iterable表示可以迭代的物件,例如可以是 dict.items()、dict.keys()等,key是一個函式,用來選取參與比較的元素,reverse則是用來指定排序是倒序還是順 序,reverse=true則是倒序,reverse=false時則是順序,預設時reverse=false。

要按key值對字典排序,則可以使用如下語句:

    res = {'A':15, 'B':66, 'E':89, 'D':11, 'C':100}
    res = sorted(res.items(), key=lambda item:item[1], reverse=True)

這裡的d.items()實際上是將d轉換為可迭代物件,items()方法將字典的元素 轉化為了元組,而這裡key引數對應的lambda表示式的意思則是選取元組中的第二個元素作為比較引數(如果寫作key=lambda item:item[0]的話則是選取第一個元素作為比較物件,也就是key值作為比較物件。所以採用這種方法可以對字典的value進行排序。注意排序後的返回值是一個list,而原字典中的名值對被轉換為了list中的元組。

引用自 https://www.cnblogs.com/dylan-wu/p/6041465.html
感謝