获取多层嵌套字典中最内层键的值

nested_dict = {  
    'outer_key1': {  
        'middle_key1': {  
            'inner_key1': 'value1',  
            'inner_key2': 'value2'  
        },  
        'middle_key2': {  
            'inner_key1': 'value3'  
        }  
    },  
    'outer_key2': {  
        'middle_key1': {  
            'inner_key1': 'value4'  
        }  
    }  
}

获取inner_key1outer_key1middle_key1下的值:

value = nested_dict['outer_key1']['middle_key1']['inner_key1']  
print(value)  # 输出: value1

使用递归函数,遍历嵌套结构以找到所有的最内层键值对:

def find_inner_key_values(d, inner_key='inner_key1', current_keys=()):  
    for k, v in d.items():  
        new_keys = current_keys + (k,)  
        if isinstance(v, dict):  
            # 递归调用find_inner_key_values  
            yield from find_inner_key_values(v, inner_key, new_keys)  
        elif k == inner_key:  
            # 当找到最内层的键时,返回键和它的完整路径  
            yield new_keys, v  
  
# 获取所有inner_key1的值  
for keys, value in find_inner_key_values(nested_dict, 'inner_key1'):  
    print(keys, value)

'''
输出:
(('outer_key1', 'middle_key1', 'inner_key1'), 'value1')  
(('outer_key1', 'middle_key2', 'inner_key1'), 'value3')  
(('outer_key2', 'middle_key1', 'inner_key1'), 'value4')
'''

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值