排序值并从dict python返回键列表

时间:2011-09-07 20:16:39

标签: python dictionary

  

可能重复:
  Python: Sort a dictionary by value

我有这样的字典:

A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}

我想要一个按值排序的键列表,即[Name2, Name1, Name6....]

感谢!!!

4 个答案:

答案 0 :(得分:46)

使用sorted作为键get方法(iterating可以访问字典键):

sorted(A, key=A.get)

答案 1 :(得分:4)

使用sorted的{​​{1}}参数

key

答案 2 :(得分:3)

sorted(a.keys(), key=a.get)

这会对键进行排序,对于每个键,使用a.get来查找要用作其排序值的值。

答案 3 :(得分:1)

我会用:

items = dict.items()
items.sort(key=lambda item: (item[1], item[0]))
sorted_keys = [ item[0] for item in items ]

sort的key参数是一个可调用的,它返回要使用的排序键。在这种情况下,我将返回(value, key)的元组,但如果您愿意,可以返回值(即key=lambda item: item[1])。