python 二维嵌套字典取所有指定key值得value
时间: 2023-09-06 12:01:44 浏览: 150
要取出一个二维嵌套字典中所有指定key值的value,可以使用递归的方式来实现。首先,定义一个函数,传入一个字典和指定的key,该函数返回该key对应的value。然后,在函数中判断传入的字典是否为空,如果为空,返回None;如果不为空,判断指定的key是否在字典中,如果在,则返回对应的value;如果不在,则遍历字典的所有value,如果其中有字典类型的数据,则递归调用该函数,直到找到指定key的value。最后,遍历每个二维嵌套字典,调用该函数获取指定key的value,并存入一个列表中,返回该列表即可。
以下是一个例子:
def get_value(dic, key):
if not dic: # 判断字典是否为空
return None
if key in dic: # 判断key是否在字典中
return dic[key]
for value in dic.values(): # 遍历字典的所有value
if isinstance(value, dict): # 判断value是否为字典类型
result = get_value(value, key) # 递归调用get_value函数
if result: # 判断是否找到指定key的value
return result
return None
# 二维嵌套字典
nested_dict = {
'a': {'b': {'c': 1, 'd': 2}},
'e': {'f': {'g': 3, 'h': 4}},
'i': {'j': {'k': 5, 'l': 6}}
}
# 获取所有指定key的value
keys = ['c', 'h', 'l']
values = [get_value(nested_dict, key) for key in keys]
print(values) # 输出[1, 4, 6]
通过以上方法,我们可以方便地取出二维嵌套字典中所有指定key的value。
阅读全文