Ваш код также "неправильный" в Python 2.Нет смысла сравнивать словарь с целым числом.Это все равно что спрашивать, больше ли число цвета, чем число, это просто не имеет смысла.
Python 2 позволяет сравнивать разные типы, подобные этому, и всегда будет говорить, что словарь больше числа, что является произвольным,Даже пустой словарь больше, чем число:
>>> import sys
>>> {} > sys.maxint
True
Такое сравнение не имеет смысла, и вместо этого в Python 3 правильно возникает ошибка, в которой говорится: «Я понятия не имею, что вы имеете в виду»,лучше и избегает ошибочных сравнений.