Tutorial de lista vacía de Python: cómo crear una lista vacía en Python

Si desea aprender cómo crear una lista vacía en Python de manera eficiente, este artículo es para usted.

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é eficientes son (¡uno es más rápido que el otro!). Usaremos el timeitmódulo para compararlos.

¡Vamos a empezar! ✨

? Uso de corchetes

Puede crear una lista vacía con un par de corchetes vacíos, como este:  

? Consejo: Asignamos la lista vacía a una variable para usarla más tarde en nuestro programa.

Por ejemplo:

num = []

La lista vacía tendrá una longitud 0, como puede ver aquí:

>>> num = [] >>> len(num) 0

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

>>> num = [] >>> bool(num) False

Agregar elementos a una lista vacía

Puede agregar elementos a una lista vacía usando los métodos append()y insert():

  • append() agrega el elemento al final de la lista.
  • insert() agrega el elemento en el índice particular de la lista que elija.

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

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

El resultado de este código es:

This list is empty

Debido a que la lista estaba vacía, se evalúa como Falso.

En general:

  • Si la lista no está vacía, se evalúa como True, por lo que se ejecuta la cláusula if.
  • Si la lista está vacía, se 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. Luego, usando un bucle for, agregamos una secuencia de elementos (enteros) a la lista que inicialmente estaba vacía:

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

Verificamos el valor de la variable para ver si los elementos se agregaron correctamente y confirmamos que la lista ya no está vacía:  

>>> num [3, 5, 7, 9, 11, 13]

? Sugerencia: comúnmente usamos append()para agregar el primer elemento a una lista vacía, pero también puede agregar este elemento llamando al insert()método con índice 0:

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

? Usando el constructor list ()

Alternativamente, puede crear una lista vacía con el constructor de tipos list(), que crea un nuevo objeto de 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 la memoria y, dado que no le pasamos ningún argumento list(), se creará una lista vacía.

Por ejemplo:

num = list()

Esta lista vacía tendrá una longitud 0, como puede ver aquí:

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

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

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

Ejemplo:

Esta es una lista completamente funcional, por lo que podemos agregarle elementos:

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

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

>>> num [3, 5, 7, 9, 11, 13]

? Casos de uso

  • Normalmente lo usamos list()para crear listas a partir de iterables existentes, como cadenas, diccionarios o tuplas.
  • Por lo general, verá que []se utilizan corchetes para crear listas vacías en Python porque esta sintaxis es más concisa y rápida.

? Eficiencia

¡Espere! Te acabo de decir que []es más rápido que list()...

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

Comprobemos su eficiencia en el tiempo utilizando el módulo timeit .

Para usar este módulo en su programa Python, necesita importarlo:

>>> import timeit

Específicamente, usaremos la función timeit de este módulo, que puede llamar con esta sintaxis:

? Sugerencia: El código se repite varias veces para reducir las diferencias de tiempo que pueden surgir de factores externos, como otros procesos que podrían estar ejecutándose en ese momento en particular. Esto hace que los resultados sean más fiables a efectos de comparación.

? En tus marcas ... prepárate ... ¡listo! Aquí está el código y la salida:

Primero, importamos el módulo.

>>> import timeit

Luego, comenzamos a probar cada sintaxis.

Pruebas []:

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

Pruebas list():

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

? Sugerencia: observe que el código que desea cronometrar debe estar entre comillas simples ''o dobles "". El tiempo devuelto por la timeitfunción 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.002segundos en esta prueba:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

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

Bueno ... list()es más lento porque requiere buscar el nombre de la función, llamarlo y luego crear el objeto de lista en la memoria. Por el contrario, []es como un "atajo" que no requiere tantos pasos intermedios para crear la lista en la memoria.

Esta diferencia de tiempo no afectará mucho el rendimiento de su programa, pero es bueno saber cuál es más eficiente y cómo funcionan entre bastidores.

? En resumen

Puede crear una lista vacía utilizando un par de corchetes vacíos []o el constructor de tipos list(), una función incorporada que crea una lista vacía cuando no se pasan argumentos.

Los corchetes []se usan comúnmente en Python para crear listas vacías porque es más rápido y conciso.

Realmente espero que le haya gustado mi artículo y lo haya encontrado útil. Ahora puede crear listas vacías en sus proyectos de Python. Mira mis cursos en línea. Sigueme en Twitter. ⭐️

Si desea profundizar en las listas, le recomendamos leer:

  • Python List Append: cómo agregar un elemento a una matriz, explicado con ejemplos
  • El método de matriz de lista de ordenación de Python: ascendente y descendente explicado con ejemplos
  • Python List Append VS Python List Extend: la diferencia explicada con ejemplos de métodos de matriz