У меня есть два словаря, но для упрощения я возьму эти два :
>>> x = dict(a=1, b=2)
>>> y = dict(a=2, b=2)
Теперь я хочу сравнить, имеет ли каждая пара ключ, значение
в x
такое же соответствующее значение в y
. Итак, я написал это:
>>> for x_values, y_values in zip(x.iteritems(), y.iteritems()):
if x_values == y_values:
print 'Ok', x_values, y_values
else:
print 'Not', x_values, y_values
И это работает, так как кортеж
возвращается и затем сравнивается на равенство.
Мои вопросы:
Это правильно? Есть ли лучший способ сделать это? Лучше не по скорости, я говорю об элегантности кода.
ОБНОВЛЕНИЕ: Я забыл упомянуть, что мне нужно проверить, сколько пар ключ, значение
равны.
для python3:
data_set_a = dict_a.items()
data_set_b = dict_b.items()
difference_set = data_set_a ^ data_set_b