关于字典:排序值并从dict python返回键列表

sort values and return list of keys from dict python

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Python: Sort a dictionary by value

我有一本这样的字典:

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

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

谢谢!!!!


使用sortedget方法作为键(可以通过迭代访问字典键):

1
sorted(A, key=A.get)


使用sortedkey参数

1
sorted(d, key=d.get)


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

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


我会用:

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

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