简单比较的最Python方式是什么:
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都具有的键的值。
最佳答案
以@Mitch的答案为基础,您可以在all
中进行比较:
dict1 = {'Class1': 10, 'Class2': 18, 'Class3': 5}
dict2 = {'Class1': 10, 'Class2': 18, 'Class4': 11}
all(dict1[k] == dict2[k] for k in dict1.keys() & dict2.keys())
或者您的情况:
self.assertTrue(all(dict1[k] == dict2[k] for k in dict1.keys() & dict2.keys()))
关于python - 仅在python中的两个字典中比较匹配键的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42303706/