Сравнение двух словарей и проверка количества пар (ключ, значение) равныPython

Программы на Python
Anonymous
Сравнение двух словарей и проверка количества пар (ключ, значение) равны

Сообщение Anonymous »

У меня есть два словаря, но для упрощения я возьму эти два:

Код: Выделить всё

>>> 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
И это работает, поскольку кортеж возвращается, а затем сравнивается на равенство.

Мои вопросы:

Это правильно? Есть ли лучший способ сделать это? Лучше не по скорости, я говорю об элегантности кода.

ОБНОВЛЕНИЕ: я забыл упомянуть, что мне нужно проверить, сколько пар ключ-значение равны.

Подробнее здесь: https://stackoverflow.com/questions/452 ... -are-equal

Вернуться в «Python»