假设我们有两个字典:
由于合并的结果,我需要获取以下字典:
a = {
"key1": "value1",
"key2": "value2",
"key3": {
"key3_1": "value3_1",
"key3_2": "value3_2"
}
}
b = {
"key1": "not_key1",
"key4": "something new",
"key3": {
"key3_1": "Definitely not value3_1",
"key": "new key without index?"
}
}
由于合并的结果,我需要获取以下字典:
{
"key1": "not_key1",
"key2": "value2",
"key3": {
"key3_1": "Definitely not value3_1",
"key3_2": "value3_2",
"key": "new key without index?"
},
"key4": "something new"
}
I have this kind of code:
def merge_2_dicts(dict1, dict2):
for i in dict2:
if not type(dict2[i]) == dict:
dict1[i] = dict2[i]
else:
print(dict1[i], dict2[i], sep="\n")
dict1[i] = merge_2_dicts(dict1[i], dict2[i])
return dict1
这个方法可以正常工作并给我想要的结果,但是我不确定是否有更简单的方式。是否有更简单/更短的选项?
a
中有["key_3"]["key_3_2"]
,而b
中没有。输出时只需要字典即可。 - user18196171isinstance(X, dict)
代替type(X) == dict
。请参见此问题。 - knia