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