【发布时间】:2019-02-06 20:19:24
【问题描述】:
我想知道我们如何返回嵌套字典的键值。 dict of dict(案例1)的案例已经在别处得到解答,但我无法一概而论
案例1:dict的dict
dict = {'key1': {'subkey1': value11, 'subkey2': value12, ...}
'key2': {'subkey1': value21, 'subkey2': value22, ...}
...}
为了获得具有最大 'subkey1' 值的密钥,我会这样做:
max(dict, key=lambda x: dict[x].get('subkey1'))
案例 2:
dict = {'key1':
{'subkey1':
{'subsubkey1': value111, 'subsubkey2': value112, ...}}
'key2':
{'subkey2':
{'subsubkey1': value211, 'subsubkey2': value212, ...}}}
...}
所以我的问题是:
- 如何推广case1的公式?如果我想要最大“子子键”的“键”?
- 就性能而言,另一种解决方案是否比单行公式更有效?
感谢您的帮助和贡献
【问题讨论】:
-
你期望的结果是什么?
-
我想要最大 subsubkey1 的“键”。假设 value111=111 等等。在这个例子中,它是 key2
-
您是否尝试过使用递归从
key >> subkey >> subsubkey到任意长的嵌套结构到sub...subkey?这样你就可以深入到 subdicts 中,然后在最后返回“root”键 -
是的,关键是尽可能避免递归。但是性能呢?
标签: python dictionary nested key max