我有一个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'}}}