为方便起见,更新字典的内容为原内容加1。
def update_dict(root):
# 判断是否为空树
if root == {}:
return {}
# 递归遍历嵌套字典
for root_key, root_value in root.items():
# 是否为叶子节点
if not isinstance(root[root_key],dict):
# 更新叶子节点的值
root[root_key] = root[root_key] + 1
return root
else:
# 递归非叶子节点
result = update_dict(root[root_key])
root[root_key] = result
return root
if __name__ == "__main__":
Nested_dict = {"a":
{"a1":
{"a11":
{"a111":{"a":1,"b":2},
"a112":{"c":1,"d":2}},
"a12":{"a":1,"b":2},
"a13":{"c":1,"d":2}},
"a2":{"a":1,"b":2}
},
"b":{"a":1,"b":2}
}
result = update_dict(Nested_dict)
print(result)
"""
修改后的字典
{'a': {'a1': {'a11': {'a111': {'a': 2, 'b': 2}, 'a112': {'c': 2, 'd': 2}},
'a12': {'a': 2, 'b': 2}, 'a13': {'c': 2, 'd': 2}}, 'a2': {'a': 2, 'b': 2}},
'b': {'a': 2, 'b': 2}}
"""