python获取嵌套dict中指定的key-value
时间: 2023-05-04 22:05:01 浏览: 142
要获取嵌套dict中指定的key-value,可以使用递归的方式实现。具体步骤如下:
1. 判断当前dict是否包含指定的key。若包含,则返回对应的value;若不包含,则遍历当前dict的所有value,如果是一个dict,则递归查找指定的key;如果不是一个dict,则继续查找下一个value。
2. 如果遍历完整个dict都没有找到指定的key,则返回空值或者抛出异常(根据具体情况而定)。
下面是使用Python实现上述过程的示例代码:
```
def get_value(nested_dict, key):
if key in nested_dict:
return nested_dict[key]
else:
for value in nested_dict.values():
if isinstance(value, dict):
result = get_value(value, key)
if result is not None:
return result
return None # 没有找到指定的key,返回空值
# 示例
nested_dict = {
'a': {'b': {'c': 1, 'd': 2}, 'e': 3},
'f': {'g': 4, 'h': {'i': 5, 'j': {'k': 6}}}
}
key = 'k'
value = get_value(nested_dict, key)
if value is not None:
print('找到了%s对应的value值:%s' % (key, value))
else:
print('在nested_dict中没有找到%s这个key' % key)
```
在上述示例中,get_value函数接收两个参数:一个嵌套的字典nested_dict和一个要查找的key。如果在nested_dict中找到了对应的value,则返回该value值;否则返回None。在示例中,我们要查找key为'k'的value值,结果发现'value'为6,成功找到了该key对应的值。