python

python怎么遍历嵌套字典

小亿
158
2023-11-16 10:16:07
栏目: 编程语言

可以使用递归或者循环来遍历嵌套字典。下面是两种常见的方法:

  1. 递归方法:
def traverse_dict(d):
    for key, value in d.items():
        if isinstance(value, dict):
            traverse_dict(value)
        else:
            print(key, ":", value)

# 示例字典
dict1 = {
    'name': 'Alice',
    'age': 25,
    'address': {
        'street': '123 Main St',
        'city': 'New York',
        'state': 'NY'
    }
}

# 调用函数
traverse_dict(dict1)

输出结果:

name : Alice
age : 25
street : 123 Main St
city : New York
state : NY
  1. 循环方法:
def traverse_dict(d):
    stack = [(d, "")]
    while stack:
        cur, prefix = stack.pop()
        for key, value in cur.items():
            if isinstance(value, dict):
                stack.append((value, prefix + key + "/"))
            else:
                print(prefix + key, ":", value)

# 示例字典
dict1 = {
    'name': 'Alice',
    'age': 25,
    'address': {
        'street': '123 Main St',
        'city': 'New York',
        'state': 'NY'
    }
}

# 调用函数
traverse_dict(dict1)

输出结果:

name : Alice
age : 25
address/street : 123 Main St
address/city : New York
address/state : NY

以上两种方法都可以遍历嵌套字典,并输出所有键值对。你可以根据实际需求选择其中一种方法。

0
看了该问题的人还看了