Сравнение двух словарей и проверка количества пар (ключ, значение) равны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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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