Python: Comprobar si una lista está vacía o no – ( Actualizado 2020 )

En este artículo, hablaremos de diferentes formas de comprobar si una lista está vacía o no. También veremos cómo comprobar si una lista de listas está vacía o no utilizando el bucle for, la comprensión de listas y la función all().
Tabla de contenidos

  • Comprobar si una lista está vacía utilizando el operador ‘not’ en python
  • Comprobar si la lista está vacía utilizando la función len()
  • Python: Comprobar si una lista está vacía comparándola con una lista vacía
  • Comprobar si una lista está vacía utilizando __len__()
  • Comprobar si una lista está vacía utilizando numpy
  • Comprobar si una lista de listas está vacía
  • Comprobar si una lista de listas está vacía usando el bucle for
  • Comprobar si una lista de listas está vacía usando Comprensión de listas

Comprobar si una lista está vacía usando el operador ‘not’ en python

En python, un objeto secuencia puede ser implícitamente convertible a bool. Si la secuencia está vacía, entonces se evalúa a False, de lo contrario se evalúa a True. Así, podemos aplicar una sentencia if a un objeto secuencia para comprobar si está vacío o no.

Aplicando la sentencia if al objeto lista, podemos comprobar si está vacío pr no. Por ejemplo,

# Create an empty listlist_of_num = # Empty list object will evaluate to Falseif not list_of_num: print('List is empty')else: print('List is not empty')

Salida:

List is empty

¿Cómo funciona?

Cuando se aplica la sentencia ‘if’ a una lista, se evalúa a False si la lista está vacía, en caso contrario se evalúa a True. Si aplicamos el operador ‘not’ junto con ‘if statement’ al objeto lista, evalúa a True si la lista está vacía, en caso contrario devuelve False.

Comprobar si la lista está vacía utilizando la función len()

Python proporciona una función incorporada len(),

len(sequence)

Acepta una secuencia como una lista, tupla o conjunto, etc, y devuelve el número de elementos en esa secuencia es decir, tamaño de la secuencia.
Podemos comprobar el tamaño de la lista pasando el objeto lista a la función len(). Una vez tenemos el tamaño de la lista, podemos confirmar si una lista está vacía comprobando si su tamaño es 0. Por ejemplo,

# Create an empty listlist_of_num = # Check if list's size is 0if len(list_of_num) == 0: print('List is empty')else: print('List is not empty')

Salida:

List is empty

Python: Comprobar si la lista está vacía comparando con la lista vacía

En python, los corchetes vacíos apuntan a la lista vacía. Por lo tanto, podemos comprobar si nuestro objeto lista está vacío o no simplemente comparándolo con i.e.

# Create an empty listlist_of_num = # Check if list object points to literal if list_of_num == : print('List is empty')else: print('List is not empty')

Salida:

List is empty

Este no es el enfoque más rápido, porque primero se creará el objeto lista vacía y luego se hará la comparación.

Comprobar si la lista está vacía usando __len__()

La clase List tiene un método especial sobrecargado,

list.__len__()

Devuelve el número de elementos de la lista. Podemos comprobar el tamaño de una lista llamando a la función __len__() sobre el objeto lista. Una vez que tenemos el tamaño de la lista, podemos confirmar si una lista está vacía comprobando si su tamaño es 0. Por ejemplo,

# Create an empty listlist_of_num = # Check if list's size is 0if list_of_num.__len__() == 0: print('List is empty')else: print('List is not empty')

Salida:

List is empty

Comprobar si una lista está vacía usando numpy

Convertir una lista de Python en un array de numpy y luego comprobar el tamaño del array de numpy usando el atributo size. Si el tamaño del array de numpy es zeo entonces significa que la lista está vacía. Por ejemplo,

import numpy as np# Create an empty listlist_of_num = arr = np.array(list_of_num)if arr.size == 0: print('List is empty')else: print('List is not empty')

Salida:

List is empty

Comprobar si una lista de listas está vacía

Puede haber escenarios en los que tengamos una lista de listas, y queramos averiguar si todas las sublistas están vacías. Hay diferentes formas de hacerlo. Vamos a discutirlas una por una.

Comprobar si una lista de listas está vacía usando el bucle for

Hemos creado una función que acepta una lista de listas y comprueba si todas las sublistas de la lista dada están vacías o no. Vamos a utilizar esta función para comprobar si todas las listas de una lista están vacías o no.

def check_if_empty(list_of_lists): for elem in list_of_lists: if elem: return False return True# List of listlist_of_lists = , , , ]if check_if_empty(list_of_lists): print('List of Lists is empty')else: print('List of Lists is not empty')

Salida:

List of Lists is empty

Esta función check_if_empty() acepta una lista de listas, luego itera sobre todas las sublistas de la lista principal usando el bucle for, y para cada sublista, comprueba si está vacía o no usando &perador not. Si alguna de las sublistas no está vacía, devuelve False, mientras que si todas las sublistas están vacías, devuelve True.

Comprobar si una lista de listas está vacía usando Comprensión de listas

A diferencia de la solución anterior, aquí comprobaremos si todas las sublistas de una lista dada están vacías o no en un solo como usando Comprensión de listas y la función all().

def check_if_empty_2(list_of_lists): return all()# List of listlist_of_lists = , , , ]if check_if_empty_2(list_of_lists): print('List of Lists is empty')else: print('List of Lists is not empty')

Salida:

List of Lists is empty

La comprensión de listas devuelve una lista de bools, donde cada entrada de esta lista booleana representa la sublista de la lista principal. Si una sublista estaba vacía, entonces la entrada correspondiente en esta lista bool será True, si no, False.
Entonces pasamos esta lista bool a la función all() para comprobar si todos los elementos de esta lista bool son True o no. Si todos los elementos de la lista bool son True, entonces significa que todas las sublistas de la lista principal están vacías.

Resumen

Discutimos diferentes formas de comprobar si una lista está vacía o no. Luego también vimos las técnicas para comprobar si una lista contiene todas las listas vacías o no.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *