Por que 1 == Verdadeiro, mas 2! = Verdadeiro em Python? [duplicado

Possible Duplicate:
False == 0 e True == 1 no Python são detalhes de implementação ou são garantidos pelo idioma?

Uma breve transcrição do meu console interativo:

Python 2.7.2 (default, Jun 29 2011, 11:10:00) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> True
True
>>> 0 == True
False
>>> 1 == True
True
>>> 2 == True
False

Por que diabos é esse o caso?

Editar Por uma questão de contraste, considere ois operador.

>>> 0 is False
False
>>> 1 is True
False
>>> 0 is 0
True
>>> True is True
True

Isso faz muito sentido, porque embora1 eTrue ambos significam a mesma coisa que a condição de umif, eles realmente não são a mesma cois

Editar novamente: Consequências mais divertidas de1 == True:

>>> d = {}
>>> d[True] = "hello"
>>> d[1]
"hello"

questionAnswers(8)

yourAnswerToTheQuestion