Duplicar posible:
Is False == 0 and True == 1 in Python an implementation detail or is it guaranteed by the language?¿Se garantiza que False "es 0" y verdadero "es 1"?
me di cuenta hoy que los siguientes trabajos usando Python 2.6 (CPython) ...
>>> a=[100,200]
>>> a[True]
200
>>> a[False]
100
¿Este portátil para otras implementaciones de pitón (Por ejemplo, ¿está True
/False
garantizado para heredar de int? ¿Es True
g? ¿Está garantizado evaluar a 1 en lugar de otro número distinto de cero?) ¿Hay alguna situación en la que esto sea útil? Parece que podría ser utilizado como una forma más de un operador ternario, pero no sé cuánto se gana allí ...
(No es una respuesta, pero puede que le resulte interesante: en Python 2.6 y antes True y False son solo variables así que ... 'True, False =" hello "," world "' ... pero tienen la propiedad * estado reservado * en Python 3.x) –
Hasta donde sé, True y False son etiquetas para 1 y 0. 1 == Verdadero y 0 == Falso. Por lo tanto, devolvería los artículos 0º y 1º en la lista –
@gwynhowell: no, 'True' y' False' son objetos por derecho propio, de tipo 'bool'. –