阅读量:0
可以使用递归或者循环来遍历嵌套字典。下面是两种常见的方法:
- 递归方法:
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
- 循环方法:
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
以上两种方法都可以遍历嵌套字典,并输出所有键值对。你可以根据实际需求选择其中一种方法。