我已经看过this post和this post以及其他许多人,但还没有找到我的问题的答案,也无法弄明白。
我有一份列表字典。例如,它看起来像:
Dict = {'a':[1,2,3,4], 'b':[9,8,7,6], 'c':[8,5,3,2]}
我想根据列表中的特定项返回已排序(降序/反向)的键列表。例如,我想根据每个列表中的第4项对a,b,c进行排序。
这应该返回按值sorted_keys = ['b','a','c']
排序的列表[6,4,2]
。
有意义吗?请帮忙......谢谢!
答案 0 :(得分: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']