You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中遍历并打印多层嵌套字典的所有数据?

遍历多层嵌套字典与列表的实现方法

你的数据结构混合了字典和列表的多层嵌套,要打印最内层的键值对,可以用两种方式实现:

方法一:通用递归法(适配任意嵌套深度)

递归函数可以自动处理字典和列表的嵌套,不管结构复杂度如何都能遍历到最底层的键值对:

def print_nested_data(item):
    # 如果当前元素是字典,遍历键值对
    if isinstance(item, dict):
        for key, value in item.items():
            # 值仍是嵌套结构则继续递归,否则直接打印
            if isinstance(value, (dict, list)):
                print_nested_data(value)
            else:
                print(f"Key:{key} Value: {value}")
    # 如果当前元素是列表,遍历每个元素递归处理
    elif isinstance(item, list):
        for elem in item:
            print_nested_data(elem)

# 调用函数处理你的数据
data={
    'a':[{
        'aa':{'aax':5,'aay':6,'aaz':7},
        'ab':{'abx':8,'aby':9,'abz':10}
        },
        {
        'aaa':{'aaax':11,'aaay':12,'aaaz':13},
        'aab':{'aabx':14,'aaby':15,'aabz':16}
        }]
}

print_nested_data(data)

运行后输出:

Key:aax Value: 5
Key:aay Value: 6
Key:aaz Value: 7
Key:abx Value: 8
Key:aby Value: 9
Key:abz Value: 10
Key:aaax Value: 11
Key:aaay Value: 12
Key:aaaz Value: 13
Key:aabx Value: 14
Key:aaby Value: 15
Key:aabz Value: 16

方法二:针对性逐层遍历(适配当前固定结构)

如果你的数据结构固定不变,也可以直接逐层拆解遍历,代码更直观:

data={
    'a':[{
        'aa':{'aax':5,'aay':6,'aaz':7},
        'ab':{'abx':8,'aby':9,'abz':10}
        },
        {
        'aaa':{'aaax':11,'aaay':12,'aaaz':13},
        'aab':{'aabx':14,'aaby':15,'aabz':16}
        }]
}

# 先遍历data['a']中的每个字典
for list_item in data['a']:
    # 遍历每个字典里的内层字典
    for inner_dict in list_item.values():
        # 打印内层字典的键值对
        for key, value in inner_dict.items():
            print(f"Key:{key} Value: {value}")

这个写法和递归法输出结果一致,但只适用于当前的嵌套层级,若后续结构有变化需要修改代码。

内容的提问来源于stack exchange,提问作者Abdul Wahid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:10:36