【python】字典差异元素处理

113 篇文章 15 订阅
20 篇文章 0 订阅

需求:
两个字典,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}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都吴所谓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值