简单比较最简单的方式是什么:
pyspark.ml
我觉得我做嵌套for循环的解决方案是将所有dict2键与dict1中的每个键进行比较是效率低下的。目标是仅比较dict1和dict2所具有的键的值。
答案 0 :(得分:3)
您可以获得要与
进行迭代和比较的关键交集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
答案 1 :(得分:2)
根据@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()))