У меня есть два словаря, но для упрощения, я буду считать эти два:Сравнение два словарей в Python
>>> x = dict(a=1, b=2)
>>> y = dict(a=2, b=2)
Теперь я хочу, чтобы сравнить, есть ли каждая key, value
пары в 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
И это работает так как tuple
возвращается, а затем сравнить на равенство.
Мои вопросы:
Это правильно? Есть ли способ ? Лучше не в скорости, я говорю об элегантности кода.
ОБНОВЛЕНИЕ: Я забыл упомянуть, что я должен проверить, сколько пар key, value
равны.
'' х == y'' Шоул d быть правдой согласно http://stackoverflow.com/a/5635309/186202 – Natim