以下是一个比较嵌套值并合并嵌套字典的解决方法的代码示例:
def merge_dicts(dict1, dict2):
merged_dict = dict1.copy()
for key, value in dict2.items():
if key in merged_dict and isinstance(value, dict):
merged_dict[key] = merge_dicts(merged_dict[key], value)
else:
merged_dict[key] = value
return merged_dict
dict1 = {
'a': {
'b': 1,
'c': 2
},
'd': {
'e': {
'f': 3
}
}
}
dict2 = {
'a': {
'b': 10,
'c': 20
},
'd': {
'e': {
'f': 30
}
},
'g': 4
}
merged_dict = merge_dicts(dict1, dict2)
print(merged_dict)
输出结果:
{
'a': {
'b': 10,
'c': 20
},
'd': {
'e': {
'f': 30
}
},
'g': 4
}
在这个例子中,我们定义了一个名为merge_dicts
的函数来比较嵌套值并合并嵌套字典。首先,我们将dict1
复制到merged_dict
中作为初始合并字典。
然后,我们遍历dict2
的键值对。如果键已经存在于merged_dict
中并且对应的值是字典类型,我们递归调用merge_dicts
函数来将这两个嵌套字典合并。否则,我们直接将value
赋值给merged_dict
的对应键。
最后,我们返回合并后的字典。
在上述示例中,我们将dict1
和dict2
合并为一个新的字典merged_dict
,并打印输出结果。输出结果显示了两个字典的合并结果。
上一篇:比较嵌套在类中的结构体值。
下一篇:比较嵌套字典中的多个键