【发布时间】:2020-10-11 11:17:44
【问题描述】:
我有一个 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'}}}
与cid相似。
我需要用 num 找到最大 dd 对象:
想要的:
所需:{'121': {'10': {'cid': '555', 'num': '4'}}}
我知道如何遍历嵌套字典以找到最大键
print(max(int(z['num']) for d in dd.values() for z in d.values())) # 4
^ 但这给出了num 的值,而不是完整的对象
【问题讨论】:
-
max(dd.items(), key=lambda i: int(i[1]['10']['num'])). -
@ekhumoro 很聪明,但如果
10不常见怎么办? -
@JackJee 二级字典有多个项目吗?
-
dict([max(dd.items(), key=lambda i: int(list(i[1].values())[0]['num']))]).
标签: python python-3.x dictionary