subplot title python
¿Es todo más grande que ninguno? (2)
Esta pregunta ya tiene una respuesta aquí:
¿Hay un tipo de datos incorporado de Python, además de None , para el cual:
>>> not foo > None
True
donde foo es un valor de ese tipo? ¿Qué hay de Python 3?
None es siempre menor que cualquier tipo de datos en Python 2 (ver object.c ).
En Python 3, esto fue cambiado; ahora haciendo comparaciones en cosas sin una ordenación natural sensata resulta en un TypeError . De las 3.0 actualizaciones de "novedades" :
Python 3.0 ha simplificado las reglas para ordenar comparaciones:
Los operadores de comparación de pedidos (
<,<=,>=,>)TypeErroruna excepciónTypeErrorcuando los operandos no tienen un orden natural significativo. Por lo tanto, expresiones como:1 < '''',0 > Noneolen <= lenya no son válidas, y por ejemploNone < NoneaumentaTypeErrorlugar de devolverFalse. Un corolario es que ordenar una lista heterogénea ya no tiene sentido, todos los elementos deben ser comparables entre sí. Tenga en cuenta que esto no se aplica a los operadores==y!=: Los objetos de diferentes tipos incomparables siempre se comparan desiguales entre sí.
Esto molestó a algunas personas, ya que a menudo resultaba útil hacer cosas como ordenar una lista que tenía algunos valores None y hacer que los valores None aparezcan agrupados al principio o al final. Hubo un hilo en la lista de correo sobre esto hace un tiempo, pero el punto final es que Python 3 intenta evitar tomar decisiones arbitrarias sobre ordenar (que es lo que sucedió mucho en Python 2).