tuple - object is empty python
Compruebe si la lista está vacía sin utilizar el comando `not` (4)
Aquí:
if len(list3) == 0:
print "No matches found"
¿Cómo puedo saber si una lista está vacía sin usar el comando no?
Esto es lo que intenté:
if list3[0] == []:
print "No matches found"
else:
print list3
Soy un principiante, así que discúlpeme si hago errores tontos.
Averigua si una lista está vacía al probar su "verdad":
>>> bool([])
False
>>> bool([0])
True
Mientras que en el segundo caso, 0
es Falso, pero la lista [0]
es Verdadero porque contiene algo. (Si desea probar una lista para contener todas las cosas falsey, use all o any : any(e for e in li)
es Verdadero si algún elemento en li
es veraz).
Esto resulta en este idioma:
if li:
# li has something in it
else:
# optional else -- li does not have something
if not li:
# react to li being empty
# optional else...
Según PEP 8 , esta es la forma correcta:
• Para las secuencias, (cadenas, listas, tuplas), use el hecho de que las secuencias vacías son falsas.
Yes: if not seq: if seq: No: if len(seq) if not len(seq)
Prueba si una lista tiene un índice específico existente al usar try
:
>>> try:
... li[3]=6
... except IndexError:
... print ''no bueno''
...
no bueno
Por lo tanto, es posible que desee invertir el orden de su código a esto:
if list3:
print list3
else:
print "No matches found"
Compruebe su longitud.
l = []
print len(l) == 0
En orden de preferencia:
# Good
if not list3:
# Okay
if len(list3) == 0:
# Ugly
if list3 == []:
# Silly
try:
next(iter(list3))
# list has elements
except StopIteration:
# list is empty
Si tiene un if y un else, también puede reordenar los casos:
if list3:
# list has elements
else:
# list is empty