以下是一个比较两个字典并打印差异的代码示例:
def compare_dicts(dict1, dict2):
keys1 = set(dict1.keys())
keys2 = set(dict2.keys())
common_keys = keys1.intersection(keys2)
added_keys = keys2 - keys1
removed_keys = keys1 - keys2
modified_keys = {key for key in common_keys if dict1[key] != dict2[key]}
print("Added keys:", added_keys)
print("Removed keys:", removed_keys)
print("Modified keys:", modified_keys)
# 示例字典
dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'a': 1, 'b': 4, 'd': 5}
# 比较字典并打印差异
compare_dicts(dict1, dict2)
输出结果为:
Added keys: {'d'}
Removed keys: {'c'}
Modified keys: {'b'}
这个代码示例中,我们定义了一个compare_dicts
函数,该函数接收两个字典作为参数。首先,我们将两个字典的键集合分别存储在keys1
和keys2
中,并找到这两个集合的交集作为common_keys
。
然后,我们计算出added_keys
,即在dict2
中出现但在dict1
中未出现的键集合;计算出removed_keys
,即在dict1
中出现但在dict2
中未出现的键集合。
最后,我们使用一个集合推导式找出dict1
和dict2
中具有相同键但值不同的键,并将结果存储在modified_keys
中。
最后,我们打印出新增的键、删除的键和修改的键。在示例中,我们比较了dict1
和dict2
,并打印了差异。输出结果表明,字典dict2
新增了键d
,删除了键c
,并修改了键b
的值。
上一篇:比较两个字典