2016-10-18 39 views
2

秩序字典的名單我已經在Python字典的列表,例如排序從大到小的特定鍵

[{'a':3,'b':4,'c':5,d:'6'},{'a':1,'b':2,'c':7,d:'9'}] 

我想基於「C」的降序排列的值排序。我嘗試使用sorted()方法使用key = lambda,但沒有幫助。

任何想法??

回答

10

有很多寫這個的方法。之前,您願意與lambda表達式,做的最好的事情就是寫出來明確:

def sort_key(d): 
    return d['c'] 

sorted(list_of_dict, key=sort_key, reverse=True) 

訓練有素的眼睛會看到,這是一樣的下面的一行:

sorted(list_of_dict, key=lambda d: d['c'], reverse=True) 

或者,可能是:

from operator import itemgetter 
sorted(list_of_dict, key=itemgetter('c'), reverse=True) 
3
import operator 
list_of_dicts.sort(key=operator.itemgetter('c')) 
+1

向上投票。但是也要提到'reverse = True',因爲OP要求訂單下降 –