2013-04-22 76 views
3

我見過this postthis post以及其他很多,但還沒有完全找到我的問題的答案,我也無法弄清楚。按Python中的列表中的值對字典中的鍵進行排序

我有一個列表字典。例如,它看起來像:

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

我想回到(下降/反轉)的基礎上在列表中的特定項目排序鍵的列表。例如,我想根據每個列表中的第4項對a,b,c進行排序。

這應該返回按值[6,4,2]排序的列表sorted_keys = ['b','a','c']

有意義嗎?請幫助......謝謝!

回答

9

供應key功能,lambda是最簡單的,和排序顛倒:

sorted(Dict.keys(), key=lambda k: Dict[k][3], reverse=True) 

的關鍵函數告訴sorted什麼用排序;給定鍵的值中的第4項。

演示:

>>> sorted(Dict.keys(), key=lambda k: Dict[k][3], reverse=True) 
['b', 'a', 'c'] 
+0

呸我太慢了:P – 2013-04-22 17:03:11

+0

謝謝!精心佈置! – mcfly 2013-04-22 17:06:50

+0

@MartijnPieters +1不錯的解決方案,你不需要'.keys()' – jamylak 2013-04-23 00:44:39

相關問題