例如我有两个字典:
schema = {
'type': 'object',
'properties': {
'reseller_name': {
'type': 'string',
},
'timestamp': {
'type': 'integer',
},
},
'required': ['reseller_name', 'timestamp'],
}
和
schema_add = {
'properties': {
'user_login': {
'type': 'string',
},
},
'required': ['user_login'],
}
我如何才能将下一个与附加结果字典合并:
schema_result = {
'type': 'object',
'properties': {
'reseller_name': {
'type': 'string',
},
'timestamp': {
'type': 'integer',
},
'user_login': {
'type': 'string',
},
},
'required': ['reseller_name', 'timestamp', 'user_login'],
}
规则:
相同的路径是properties
and required
for scheme
and scheme_add
in example。
- 如果两个 dict 具有相同路径的 dicts,则它们以相同的规则合并。
- 如果两个字典都有相同路径的列表,则将第一个列表与第二个添加。
- 如果两个 dict 都具有相同路径的简单值(或 dict 和非 dict 或列表和非列表),则第一个值覆盖第二个值。
- 如果只有一个 dict 具有某个路径的键,则设置此键和值。