这是我的一本字典:
mydict = {
4: {'K', 'H'},
2: {'Y', 'X', 'Q', 'U'},
8: {'A', 'T', 'S'},
}
似乎有一些我尝试过但没有奏效的字典排序方法:
sorted([(value,key) for (key,value) in mydict.items()])
但是我将len()
根据每个值有多少个值来使用函数进行排序。
这是当前len()
输出:
for x in mydict: print(x, mydict[x], len(mydict[x]))
我怎样才能按预期对字典进行排序?
预期输出为:
mydict = {
2: {'Y', 'X', 'Q', 'U'},
8: {'A', 'T', 'S'},
4: {'K', 'H'},
}
由于 Python 3.7+ 中的字典保持插入顺序(是 Python 3.6 中的实现细节),因此您可以在排序后按照正确的顺序重建字典:
输出:
注意:与字典不同,集合不保证排序,因此上述输出值预计与您的输出值不同(并且不一定每次运行都相同)。