可以这样做:
data = {
'record': 'Nicaragua',
'text': 'Hello World!',
'latitude': 10.1,
'longitude': 122.55,
'address': None
}
model = {
"record": "Germany",
"text": "<br>",
"map": {
"latitude": 0.0,
"longitude": 0.0
}
}
def r_update(target, key, value):
if key in target:
target[key] = value
else:
for k, v in target.items():
if isinstance(v, dict):
r_update(v, key, value)
def update(source, target):
for key, value in source.items():
r_update(target, key, value)
update(data, model)
print(model)
输出
{'record': 'Nicaragua', 'text': 'Hello World!', 'map': {'longitude': 122.55, 'latitude': 10.1}}