我有一本字典
d={'g':1,'w':1,'h':3}
首先,我想按键对值进行排序,因此最终输出应如下所示
d={'h':3,'g':1,'w':1}
最佳答案
从 Python 3.6 开始,字典是有序的,但为了确保需要使用 collections
模块中的 OrderedDict
:
from collections import OrderedDict
d={'g':1,'w':1,'h':3}
o = OrderedDict(sorted(((k, v) for k, v in d.items()), key=lambda v: (-v[1], v[0])))
print(o)
输出:
OrderedDict([('h', 3), ('g', 1), ('w', 1)])
关于python - 如何先按值排序字典,然后按键排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51446082/