在 Python 中获取嵌套字典的最终元素

Get final elements of nested dictionary in Python

如何通过一个或几个键获取嵌套字典的最新元素?

例如我的嵌套字典是:

{
'key_1' : 
        {
         'key_1_1' : 
                    {
                     'key_1_1_1' : 
                                  value1, value2
                    }
                    ,
                    {
                     'key_1_1_2' : 
                                  value3
                    }
         }

} 

>>>dict[key_1]
value1, value2, value3
>>>dict[key_1][key_1_1][key_1_1_2]
value3

一个简单的递归函数应该可以满足您的需求:

def vals(x):
    if isinstance(x, dict):
        result = []
        for v in x.values():
            result.extend(vals(v))
        return result
    else:
        return [x]

用作..

>>> d = {1:2, 3:{4:5, 6:7}}
>>> vals(d)
[2, 5, 7]
>>> vals(d[1])
[2]
>>> vals(d[3])                                                                  
[5, 7]