,可以通过以下步骤实现:
下面是一个示例代码:
def compare_dicts(dict1, dict2):
diff_dict = {}
for key in dict1:
if key in dict2:
if dict1[key] != dict2[key]:
diff_dict[key] = [dict1[key], dict2[key]]
else:
diff_dict[key] = [dict1[key], None]
for key in dict2:
if key not in dict1:
diff_dict[key] = [None, dict2[key]]
return diff_dict
# 示例字典
dict1 = {
'key1': 'value1',
'key2': {
'subkey1': 'subvalue1',
'subkey2': 'subvalue2'
},
'key3': 'value3'
}
dict2 = {
'key1': 'value1',
'key2': {
'subkey1': 'subvalue1_modified',
'subkey3': 'subvalue3'
},
'key4': 'value4'
}
# 比较字典并输出差异
diff_dict = compare_dicts(dict1, dict2)
print(diff_dict)
输出结果为:
{
'key2': {
'subkey2': 'subvalue2'
},
'key3': ['value3', None],
'key2.subkey1': ['subvalue1', 'subvalue1_modified'],
'key2.subkey3': [None, 'subvalue3'],
'key4': [None, 'value4']
}
在这个示例中,我们比较了两个嵌套字典dict1和dict2,并将它们值的差异存储到了新字典diff_dict中。diff_dict中的键表示两个字典中不同的键,值为一个列表,列表的第一个元素为dict1中的值,第二个元素为dict2中的值。
领取专属 10元无门槛券
手把手带您无忧上云