在 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]
如何通过一个或几个键获取嵌套字典的最新元素?
例如我的嵌套字典是:
{
'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]