1. 程式人生 > >python中如何對字典按照value進行排序

python中如何對字典按照value進行排序

方法一:

dict= {'a':1,'b':4,'c':2}
sorted(dict.items(),key = lambda x:x[1],reverse = True)

程式碼詳解:

sorted(...):
    sorted(iterable, cmp=None, key=None, reverse=False)

iterable:是可迭代型別;
cmp:用於比較的函式,比較什麼由key決定;
key:用列表元素的某個屬性或函式進行作為關鍵字,有預設值,迭代集合中的一項;
reverse:排序規則. reverse = True  降序 或者 reverse = False 升序,有預設值。
返回值:是一個經過排序的可迭代型別,與iterable一樣。

引數說明:

(1)  cmp引數

cmp接受一個函式,拿整形舉例,形式為:

def f(a,b):

     return a-b

如果排序的元素是其他型別的,如果a邏輯小於b,函式返回負數;a邏輯等於b,函式返回0;a邏輯大於b,函式返回正數就行了

(2) key引數

 key也是接受一個函式,不同的是,這個函式只接受一個元素,形式如下

def f(a):

     return len(a)

key接受的函式返回值,表示此元素的權值,sort將按照權值大小進行排序

(3) reverse引數

接受False 或者True 表示是否逆序

 

lambda表示式,通常是在需要一個函式,但是又不想費神去命名一個函式的場合下使用,也就是指匿名函式

例:

add = lambda x, y : x+y
add(1,2)  # 結果為3