我有一本像A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
这样的字典。
如何获得按值排序的键列表,即[Name2, Name1, Name6....]
?
使用sorted
和get
方法作为键(字典键可以通过迭代访问):
sorted(A, key=A.get)
使用sorted
的key
参数
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]
),如果你喜欢。