Python - 两个字典中键值的差异


两个 Python 字典在它们之间可能有一些公共键。在本文中,我们将研究如何获得两个给定字典中的键的差异。

用集合

这里我们取两个字典并对其应用集合函数。然后我们减去两个集合以得出差异。我们通过两种方式执行此操作,通过从第一个字典中减去第二个字典,然后从第二个字典中减去第一个字典。结果集会列出那些非公共的键。

示例

 实时演示

dictA = {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
print("1st Distionary:\n",dictA)
dictB = {'3': 'Wed', '4': 'Thu','5':'Fri'}
print("1st Distionary:\n",dictB)

res1 = set(dictA) - set(dictB)
res2 = set(dictB) - set(dictA)
print("\nThe difference in keys between both the dictionaries:")
print(res1,res2)

输出

运行上述代码将为我们提供以下结果 -

1st Distionary:
{'1': 'Mon', '2': 'Tue', '3': 'Wed'}
1st Distionary:
{'3': 'Wed', '4': 'Thu', '5': 'Fri'}
The difference in keys between both the dictionaries:
{'2', '1'} {'4', '5'}

在 for 循环中使用 in

另一种方法是,我们可以使用 for 循环遍历一个字典的键,并使用 in 子句在第二个字典中检查它的存在。

示例

 实时演示

dictA = {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
print("1st Distionary:\n",dictA)
dictB = {'3': 'Wed', '4': 'Thu','5':'Fri'}
print("1st Distionary:\n",dictB)

print("\nThe keys in 1st dictionary but not in the second:")
for key in dictA.keys():
   if not key in dictB:
      print(key)

输出

运行上述代码将为我们提供以下结果 -

1st Distionary:
{'1': 'Mon', '2': 'Tue', '3': 'Wed'}
1st Distionary:
{'3': 'Wed', '4': 'Thu', '5': 'Fri'}

The keys in 1st dictionary but not in the second:
1
2

更新于: 2020-7-22

3K+ 浏览

开启你的职业生涯

完成课程即可获得认证

开始
广告