需求:
两个字典,dict1,dict2:
- 求在dict1中不在dict2中的元素;
- 求在dict2中不在dict1中的元素;
代码:
# 假设有两个字典
dict1 = {
'a': 1,
'b': 2,
'c': 3,
'd': 4
}
dict2 = {
'a': 1,
'b': 2,
'c': 3,
'e': 5
}
# 转换字典为集合,以键值对的形式
set1 = set(dict1.items())
set2 = set(dict2.items())
print("set1:", set1)
print("set2:", set2)
# 求差集,即在dict1中但不在dict2中的项
diff1 = set1.difference(set2)
print(diff1)
# 将差集转换回字典
if diff1: # 确保diff1不是空集
diff1_dict = dict(diff1)
else:
diff1_dict = {}
diff2 = set2.difference(set1)
print(diff2)
if diff2: # 确保diff1不是空集
diff2_dict = dict(diff2)
else:
diff2_dict = {}
# 输出结果
print("只在dict1中的项:")
print(diff1_dict)
print("只在dict2中的项:")
print(diff2_dict)
结果:
set1: {('c', 3), ('a', 1), ('d', 4), ('b', 2)}
set2: {('c', 3), ('a', 1), ('e', 5), ('b', 2)}
{('d', 4)}
{('e', 5)}
只在dict1中的项:
{'d': 4}
只在dict2中的项:
{'e': 5}