En este caso de tipos "no coincidentes", los tipos se enumeran lexicográficamente por nombre de tipo: una "lista" viene después de un "int" en orden alfabético, por lo que es mayor.
detalle de implementación de CPython: Los objetos de tipos diferentes, excepto , se ordenan por nombre de tipo; objetos de los mismos tipos que no admiten una comparación adecuada están ordenados por su dirección. (source)
No hay ninguna especificación del lenguaje para el ordenamiento (aparte del hecho de que es consistente). Simplemente sucede que CPython es la implementación más común en la que hay detalles de este lenguaje ordenados lexicográficamente por nombres de tipos.
¿Funciona esto en Python 3? –
@Mike, no. obtiene un TypeError –
** Encontrado: ** Enterrado en [PEP 3100] (http://www.python.org/dev/peps/pep-3100/): "Comparaciones distintas de' == 'y'! = 'entre tipos dispares generará una excepción a menos que sea explícitamente compatible con el tipo" –