Articles

Tutorial de listas vacías en Python – Cómo crear una lista vacía en Python

Posted on

Si quieres aprender a crear una lista vacía en Python de forma eficiente, entonces este artículo es para ti.

Aprenderás:

  • Cómo crear una lista vacía usando corchetes .
  • Cómo crear una lista vacía usando list().
  • Sus casos de uso.
  • Qué tan eficientes son (¡uno es más rápido que el otro!). Utilizaremos el módulo timeit para compararlos.
    • ¡Comencemos! ✨

      🔹 Usando corchetes

      Puedes crear una lista vacía con un par de corchetes vacíos, así:

      💡 Consejo: Asignamos la lista vacía a una variable para utilizarla posteriormente en nuestro programa.

      Por ejemplo:

num = 

La lista vacía tendrá la longitud 0, como puedes ver aquí mismo:

>>> num = >>> len(num)0

Las listas vacías son valores falsos, lo que significa que se evalúan a False en un contexto booleano:

>>> num = >>> bool(num)False

Añadir elementos a una lista vacía

Puedes añadir elementos a una lista vacía utilizando los métodos append() y insert():

  • append() añade el elemento al final de la lista.
  • insert() añade el elemento en el índice concreto de la lista que elijas.

Dado que las listas pueden ser valores verdaderos o falsos dependiendo de si están vacías o no cuando se evalúan, puedes usarlas en condicionales como este:

if num:print("This list is not empty")else:print("This list is empty")

La salida de este código es:

This list is empty

Porque la lista estaba vacía, por lo que se evalúa a False.

En general:

  • Si la lista no está vacía, evalúa a True, por lo que se ejecuta la cláusula if.
  • Si la lista está vacía, evalúa a False, por lo que se ejecuta la cláusula else.

Ejemplo:

En el siguiente ejemplo, creamos una lista vacía y la asignamos a la variable num. A continuación, mediante un bucle for, añadimos una secuencia de elementos (enteros) a la lista que inicialmente estaba vacía:

>>> num = >>> for i in range(3, 15, 2):num.append(i)

Comprobamos el valor de la variable para ver si los elementos se han añadido con éxito y confirmar que la lista ya no está vacía:

>>> num

💡 Consejo: Comúnmente utilizamos append() para añadir el primer elemento a una lista vacía, pero también puedes añadir este elemento llamando al método insert() con índice 0:

>>> num = >>> num.insert(0, 1.5) # add the float 1.5 at index 0>>> num

🔸 Usando el constructor list()

Alternativamente, puedes crear una lista vacía con el constructor de tipo list(), que crea un nuevo objeto lista.

Según la documentación de Python:

Si no se da ningún argumento, el constructor crea una nueva lista vacía,

💡 Consejo: Esto crea un nuevo objeto de lista en memoria y como no pasamos ningún argumento a list(), se creará una lista vacía.

Por ejemplo:

num = list()

Esta lista vacía tendrá la longitud 0, como puedes ver aquí mismo:

>>> num = list()>>> len(num)0

Y es un valor falso cuando está vacío (evalúa a False en un contexto booleano):

>>> num = list()>>> bool(num)False

Ejemplo:

Esta es una lista totalmente funcional, por lo que podemos añadirle elementos:

>>> num = list()>>> for i in range(3, 15, 2):num.append(i)

Y el resultado será una lista no vacía, como puedes ver aquí mismo:

>>> num

🔹 Casos de uso

  • Típicamente usamos list() para crear listas a partir de iterables existentes como cadenas, diccionarios o tuplas.
  • Es común ver corchetes que se utilizan para crear listas vacías en Python porque esta sintaxis es más concisa y rápida.

🔸 Eficiencia

¡Espera! Te acabo de decir que es más rápido que list()

¿Pero cuánto más rápido?

Comprobemos sus eficiencias de tiempo utilizando el módulo timeit.

Para usar este módulo en tu programa de Python, necesitas importarlo:

>>> import timeit

En concreto, usaremos la función timeit de este módulo, que puedes llamar con esta sintaxis:

💡 Consejo: El código se repite varias veces para reducir las diferencias de tiempo que puedan surgir de factores externos como otros procesos que puedan estar ejecutándose en ese momento concreto. Esto hace que los resultados sean más fiables a efectos de comparación.

🚦 En sus marcas… ¡preparados… listos! Aquí está el código y el resultado:

Primero, importamos el módulo.

>>> import timeit

Después, empezamos a probar cada sintaxis.

Testando :

>>> timeit.timeit('', number=10**4)0.0008467000000109692

Testando list():

>>> timeit.timeit('list()', number=10**4)0.002867799999989984

💡 Consejo: Fíjate en que el código que quieres cronometrar tiene que ir rodeado de comillas simples '' o de comillas dobles "". El tiempo devuelto por la función timeit se expresa en segundos.

Compare estos resultados:

  • 0.0008467000000109692
  • list()0.002867799999989984
  • Puedes ver que es mucho más rápido que list(). Hubo una diferencia de aproximadamente 0.002 segundos en esta prueba:

>>> 0.002867799999989984 - 0.00084670000001096920.0020210999999790147

Estoy seguro de que debes estar preguntando esto ahora mismo: ¿Por qué list() es menos eficiente que si hacen exactamente lo mismo?

Pues… list() es más lento porque requiere buscar el nombre de la función, llamarla y luego crear el objeto lista en memoria. En cambio, es como un «atajo» que no requiere tantos pasos intermedios para crear la lista en memoria.

Esta diferencia de tiempo no afectará mucho al rendimiento de tu programa pero está bien saber cuál es más eficiente y cómo funcionan entre bastidores.

🔹 En resumen

Puedes crear una lista vacía utilizando un par de corchetes vacíos o el constructor de tipo list(), una función integrada que crea una lista vacía cuando no se le pasan argumentos.

Los corchetes se utilizan habitualmente en Python para crear listas vacías porque es más rápido y conciso.

Espero de verdad que te haya gustado mi artículo y te haya resultado útil. Ahora puedes crear listas vacías en tus proyectos de Python. Consulta mis cursos online. Sígueme en Twitter. ⭐️

Si quieres profundizar en las listas, puede que te guste leer:

  • Añadir una lista en Python – Cómo añadir un elemento a un array, explicado con ejemplos
  • El método de ordenación de listas en Python – Ascendente y descendente explicado con ejemplos
  • Añadir una lista en Python VS Extender una lista en Python – La diferencia explicada con ejemplos del método de arrays

.

Deja una respuesta

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