python嵌套dict获取带有max键的dict对象



我有一个dd对象:

dd = {'111': {'10': {'cid': '555', 'num': '0'}}, '222': {'10': {'cid': '555', 'num': '2'}}, '333': {'10': {'cid': '555', 'num': '2'}}, '121': {'10': {'cid': '555', 'num': '4'}}}

具有相似的CCD_ 1。

我需要用num:找到最大dd对象

所需:

所需:{'121': {'10': {'cid': '555', 'num': '4'}}}

我知道如何迭代嵌套dict以找到最大密钥

print(max(int(z['num']) for d in dd.values() for z in d.values()))  # 4

^但这给出了num的值,而不是完整的对象

低于

dd = {'111': {'10': {'cid': '555', 'num': '0'}}, '222': {'10': {'cid': '555', 'num': '2'}},
'333': {'10': {'cid': '555', 'num': '2'}}, '121': {'10': {'cid': '555', 'num': '4'}}}
pair = max([(int(v['num']), val, key) for key, val in dd.items() for v in val.values()], key=lambda item: item[0])
print({pair[2]: pair[1]})

输出

{'121': {'10': {'cid': '555', 'num': '4'}}}

最新更新