blist提供了一个按键排序的字典,但我希望按值排序(我不关心绑定值的排序)。
我尝试过以下操作,但它会因KeyError: 1
而爆炸。
from blist import sorteddict
d = sorteddict(lambda k: d[k])
d[1] = 5 # KeyError: 1
那么我该如何正确实现这一目标呢?
答案 0 :(得分:0)
也许这就是您想要的?
例如,假设您有一本字典:
dictionary = {1:2, 2:0, 3:-1}
然后,您可以按值对键重新排序。在此示例中,我将按升序重新排序。
dict(sorted(dictionary.items(), key = lambda x: dictionary[x[0]]))
您将获得:
{3: -1, 2: 0, 1: 2}