Estaba probando una lista para ver si está vacía o no. Normalmente uso len (list) == 0 y recuerdo vagamente haber leído hace poco que la forma correcta de comprobar si una lista está vacía era si era verdadera o falsa.Boolean probando una lista en Python
así que traté lista es falsa, y que devuelve false. ¿Tal vez debería usar ==? No, eso también devolvió falso. list es True, devuelto false como did list == True.
Ahora estoy confundido por lo que hago un google rápida y terminan en: Best way to check if a list is empty
La respuesta más común es:
if not a:
print "List is empty"
Así que buscar alrededor un poco más y terminan en el manual del pitón donde 4.1 estados:
cualquier objeto puede ser probados para valor de verdad, para uso en un si o mientras condición o como operando de las operaciones booleanas de abajo. Los siguientes valores se consideran falsa:
cualquier secuencia vacía, por ejemplo, '',(), [].
Ahora estoy completamente confundido. Si pruebo una lista como si no fuera lista, funciona bien. Pero si una lista vacía es falsa, ¿por qué no puedo hacer si la lista es False o si list == False?
Gracias
Específicamente, se llama al método [__nonzero__] (http://docs.python.org/reference/datamodel.html#object.%5F%5Fnonzero%5F%5F) – ernie