【发布时间】:2013-07-25 12:22:59
【问题描述】:
例如我有两个字典:
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'],
}
规则:
在示例中,scheme 和 scheme_add 的路径是 properties 和 required。
- 如果两个 dict 具有相同路径的 dict,则它们以相同的规则合并。
- 如果两个字典都有相同路径的列表,则添加第一个列表和第二个。
- 如果两个 dict 具有相同路径的简单值(或 dict 和非 dict 或列表和非列表),则第一个值覆盖第二个值。
- 如果只有一个 dict 具有某个路径的键,则设置此键和值。
【问题讨论】:
-
您似乎已经回答了自己的问题。您列出的规则是您的答案。您在实施时遇到困难吗?如果是这样,您遇到了什么具体问题?
-
在我列出规则之前看起来很难。现在有了@Nicolas78 的帮助,我做到了。
标签: python dictionary