根据值对字典进行排序

Sorting a dictionary of pairs based on value

我有密码

mydict = {"layer1" : { 0: 0.765}, 'layer2': {0: 0.9876}}
for idx in range(5):
   mydict['layer1'][idx] = idx + 900
   mydict['layer2'][idx] = idx + 800
sorted_x = sorted(mydict.items(), key=lambda kv: kv[1])

它给出了错误

TypeError: '<' not supported between instances of 'dict' and 'dict'

当我输入时

sorted_x = sorted(mydict.items(), key=lambda kv: kv[2])

它给出了错误

IndexError: tuple index out of range

它仅适用于作为字符串的索引 0!

我希望字典根据值进行排序并给出类似

的结果

[('layer2', {0: 800, 1: 801, 2: 802, 3: 803, 4: 804}), ('layer1', {0: 900, 1: 901, 2: 902, 3: 903, 4: 904})]

我该怎么办?

您可以在代码中做一个简单的更改:

改变

sorted_x = sorted(mydict.items(), key=lambda kv: kv[1])

至:

sorted_x = sorted(mydict.items(), key=lambda kv: kv[1][1])