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



我有一本像A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}这样的字典。

如何获得按值排序的键列表,即[Name2, Name1, Name6....] ?

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

sorted(A, key=A.get)

使用sortedkey参数

sorted(d, key=d.get)

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

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

我会使用:

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]),如果你喜欢。

最新更新