python對字典排序
阿新 • • 發佈:2018-12-18
1.sorted函式按key值對字典排序
先來基本介紹一下sorted函式,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。
其中iterable表示可以迭代的物件,例如可以是 dict.items()、dict.keys()等,key是一個函式,用來選取參與比較的元素,reverse則是用來指定排序是倒序還是順 序,reverse=True則是倒序,reverse=False時則是順序,預設時reverse=False。
要按key值對字典排序,則可以使用如下語句:
sorted(yourDict.keys())
直接使用sorted(yourDict.keys())就能按key值對字典排序,這裡是按照順序對key值排序的,如果想按照倒序排序的話,則只要將reverse置為True即可。
2.sorted函式按value值對字典排序
要對字典的value排序則需要用到key引數,在這裡主要提供一種使用lambda表示式的方法,如下:
sorted(yourDict.items(),key = lambda item:item[1])
items()方法將字典的元素 轉化為了元組,而這裡key引數對應的lambda表示式的意思則是選取元組中的第二個元素作為比較引數(如果寫作key=lambda item:item[0]的話則是選取第一個元素作為比較物件,也就是key值作為比較物件。lambda x:y中x表示輸出引數,y表示lambda 函式的返回值),所以採用這種方法可以對字典的value進行排序。注意排序後的返回值是一個list,而原字典中的名值對被轉換為了list中的元組。