在Python中,如果你想要使用动态数量的嵌套迭代嵌套的dict,可以使用递归函数。以下是一个示例:
def nested_dict_iter(d, path=None):
if path is None:
path = []
for key, value in d.items():
new_path = path + [key]
if isinstance(value, dict):
yield from nested_dict_iter(value, new_path)
else:
yield new_path, value
# 示例用法
d = {
"a": {
"b": {
"c": 1,
"d": 2
},
"e": {
"f": 3
}
},
"g": {
"h": 4
}
}
for keys, value in nested_dict_iter(d):
print(f"{keys}: {value}")
这个示例中,nested_dict_iter
函数接受一个嵌套的字典d
和一个可选的path
参数。函数递归地遍历字典的每个层级,并在每个叶子节点上返回一个包含键列表和值的元组。
在这个示例中,输出将是:
['a', 'b', 'c']: 1
['a', 'b', 'd']: 2
['a', 'e', 'f']: 3
['g', 'h']: 4
这种方法可以处理任意深度的嵌套字典,并且可以根据需要轻松地修改以满足特定需求。
领取专属 10元无门槛券
手把手带您无忧上云