简单比较的最pythonic方式是什么:
dict1 = {'Class1': 10, 'Class2': 18, 'Class3': 5}
dict2 = {'Class1': 10, 'Class2': 18, 'Class4': 11}
for key in dict1:
for key2 in dict2:
if key == key2:
self.assertEqual(dict1[key], dict2[key2])
我觉得我的解决方案是做一个嵌套的 for 循环来比较所有 dict2 键与 dict1 中的每个键是低效的。目标是只比较 dict1 和 dict2 的键的值。
最佳答案
可以得到要迭代比较的关键交集
dict1.keys() & dict2.keys()
例如,
>>> {k: (dict1[k], dict2[k]) for k in dict1.keys() & dict2.keys()}
{'Class1': (10, 10), 'Class2': (18, 18)}
# or
>>> for k in dict1.keys() & dict2.keys():
print(dict1[k], dict2[k])
18 18
10 10
关于python - 只比较python中两个字典中匹配键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303706/