Mejor respuesta
Aquí hay una función para verificar si una cadena es vacío:
def is\_empty(string):
return not string.strip()
Las secuencias vacías son falsas y se evalúan como False en un contexto booleano. Puede usar esto para verificar si una cadena está vacía o no. Quite los espacios en blanco primero para que si la cadena solo contiene espacios en blanco, se eliminarán y la cadena será nula, evaluando como Falso. Puede eliminar el método strip () si no desea que las cadenas con solo espacios en blanco se consideren vacías.
Ejemplo de uso:
print(is\_empty("")) # Empty string.
print(is\_empty(" ")) # String with only a space char.
print(is\_empty("Hello!")) # String with actual characters.
Salida:
Verdadero
Verdadero
Falso
Nota: Sea explícito y use bool () en la función si también necesita pasar cosas que no sean cadenas a la función.
Respuesta
Voy a suponer que está hablando de listas (Python tiene matrices , pero son muy diferentes a las listas).
Tres formas:
1 Pruebe la veracidad
Si sabe que el elemento es una lista, lo hace:
if not my\_list:
print(‘List is empty’)
Los contenedores vacíos (listas, conjuntos, tuplas, dictados) se evalúan como Falso
2 Prueba contra un em pty list
if my\_list == []:
print(‘List is empty’)
3 Pruebe la longitud
if len(my\_list) == 0:
print(‘List is empty’)
De las tres opciones, la primera se considera la más limpia
Adicional:
Si está probando su lista antes de intentar usarla, la mejor manera de hacerlo es no molestarse y simplemente usar la lista y detectar los errores:
try:
customer = customer\_list[customer\_number]
except IndexError:
print(‘List is empty or {customer\_number} doesn’t exist’)
Detectar el error como este se considera mejor que probar explícitamente el vacío. Es uno de los principios de Python llamado EAFP: es más fácil pedir perdón que permiso.
Notas sobre matrices numpy.
Numpy no sigue necesariamente los mecanismos anteriores; por ejemplo, el método 1 genera un error, y el método 3 anterior debería ser the\_array.size == 0
por ejemplo.