2013-04-22 78 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

相关问题