То, что вы хотите сделать, это просто x==y
То, что вы делаете, не является хорошей идеей, поскольку элементы в словаре не должны иметь какой-либо порядок. Возможно, вы сравниваете [('a',1),('b',1)]
с [('b',1), ('a',1)]
(одни и те же словари, другой порядок).
Например, посмотрите это:
>>> x = dict(a=2, b=2,c=3, d=4)
>>> x
{'a': 2, 'c': 3, 'b': 2, 'd': 4}
>>> y = dict(b=2,c=3, d=4)
>>> y
{'c': 3, 'b': 2, 'd': 4}
>>> zip(x.iteritems(), y.iteritems())
[(('a', 2), ('c', 3)), (('c', 3), ('b', 2)), (('b', 2), ('d', 4))]
Разница только в одном элементе, но ваш алгоритм увидит, что все элементы отличаются