x = {
'a': {'z': 1},
'b': {'z': 2},
'c': {'z': 3},
'd': {'z': 4},
'e': {'z': 5},
'f': {'z': 6},
'g': {'z': 7}
}
y = {
'b': {
'a': {},
'e': {
'c': {
'd': {}
},
'f': {
'g': {}
}
}
}
}
def update(nested_dict, new_values):
for key, value in nested_dict.items():
if value:
update(value, new_values)
nested_dict[key].update(new_values[key])
update(y, x)
import json
print(json.dumps(y, indent=2))
eCA9IHsKICAgICdhJzogeyd6JzogMX0sCiAgICAnYic6IHsneic6IDJ9LAogICAgJ2MnOiB7J3onOiAzfSwKICAgICdkJzogeyd6JzogNH0sCiAgICAnZSc6IHsneic6IDV9LAogICAgJ2YnOiB7J3onOiA2fSwKICAgICdnJzogeyd6JzogN30KfQoKeSA9IHsKICAgICdiJzogewogICAgICAgICdhJzoge30sCiAgICAgICAgJ2UnOiB7CiAgICAgICAgICAgICdjJzogewogICAgICAgICAgICAgICAgJ2QnOiB7fQogICAgICAgICAgICB9LAogICAgICAgICAgICAnZic6IHsKICAgICAgICAgICAgICAgICdnJzoge30KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKZGVmIHVwZGF0ZShuZXN0ZWRfZGljdCwgbmV3X3ZhbHVlcyk6CiAgICBmb3Iga2V5LCB2YWx1ZSBpbiBuZXN0ZWRfZGljdC5pdGVtcygpOgogICAgICAgIGlmIHZhbHVlOgogICAgICAgICAgICB1cGRhdGUodmFsdWUsIG5ld192YWx1ZXMpCiAgICAgICAgbmVzdGVkX2RpY3Rba2V5XS51cGRhdGUobmV3X3ZhbHVlc1trZXldKQoKdXBkYXRlKHksIHgpCgppbXBvcnQganNvbgpwcmludChqc29uLmR1bXBzKHksIGluZGVudD0yKSk=