Saltar al contenido principal
InicioTutorialesPython

Guía completa de listas vacías en Python

Aprenda las principales operaciones con listas y los casos de uso de las listas vacías en Python.
may 2024  · 5 min leer

Python, con sus versátiles estructuras de datos, destaca como una potente herramienta para desarrolladores y científicos de datos. Entre estas estructuras, las listas ocupan un lugar especial por su naturaleza dinámica y su facilidad de uso. Este artículo profundiza en el concepto de listas vacías en Python, explorando su creación, casos de uso comunes y operaciones, centrándose en proporcionar explicaciones claras paso a paso y ejemplos prácticos.

Si quieres más información sobre el tema, consulta nuestro tutorial completo sobre Python Lists.

La respuesta corta; Cómo crear una lista vacía en Python

Para los que tengan prisa, crear una lista vacía en Python es tan sencillo como utilizar los corchetes []. Este método conciso no sólo es fácil de recordar, sino también eficaz a la hora de inicializar una lista para operaciones posteriores. A continuación se muestra un ejemplo de creación de una lista vacía llamada my_list a la que se añaden las palabras "Python" y "Rocks".

# Create an empty list called my_list
my_list = []
# Append the words 'Python' and 'Rocks' to it
my_list.append('Python')
my_list.append('Rocks')

# my_list is now ['Python', 'Rocks']

Creación de listas vacías en Python: Dos métodos

Aunque la breve sección anterior introdujo el uso de corchetes [] como método rápido para inicializar una lista vacía, merece la pena explorar esta técnica con más detalle para apreciar su elegancia y eficacia. Además, Python también ofrece una alternativa más explícita que se ajusta a determinados estilos de codificación y requisitos de claridad.

Método 1: Creación de listas vacías mediante []

El uso de corchetes [] para crear una lista vacía es un testimonio de la filosofía de diseño de Python, que enfatiza la simplicidad y la legibilidad. Representa un punto de partida limpio e intuitivo para las operaciones con listas. He aquí un recordatorio de cómo inicializar una lista vacía utilizando []:

# Initializing an empty list with square brackets
my_empty_list = []

Método 2: Utilizando la función list() función

Como alternativa, Python proporciona una función incorporada list() que, cuando se llama sin argumentos, devuelve una lista vacía. Este método es igualmente eficaz, aunque un poco más verboso. Puede ser especialmente útil cuando se da prioridad a la legibilidad y explicitud del código. He aquí un ejemplo en acción:

# Create an empty list using the list() function
my_empty_list = list()

Operaciones habituales con listas vacías

Entender cómo manipular listas vacías es crucial para una programación eficaz en Python. A continuación se indican algunas operaciones clave que sin duda necesitará utilizar cuando trabaje con listas vacías.

Añadir elementos a una lista vacía con .append()

Una lista vacía no es muy útil si no puedes añadirle elementos. Para añadir un elemento al final de una lista, basta con utilizar el método .append(). Aquí, por ejemplo, inicializamos una lista vacía y añadimos las palabras 'Python', ’Rocks!’, y 'It’s easy to learn!' a la lista my_list.

# Initialize an empty list
my_list = []

# Append elements
my_list.append('Python')
my_list.append('Rocks!')
my_list.append('It’s easy to learn!')

# `my_list` is now ['Python', 'Rocks!', 'It’s easy to learn!']

Insertar un elemento en un lugar específico de una lista utilizando .insert()

Un inconveniente de .append() es que sólo añade elementos al final de una lista - esto significa que no tenemos control sobre dónde exactamente insertar un nuevo elemento cuando usamos .append(). En cambio, el método .insert() nos permite hacer exactamente eso. Aquí retomamos el ejemplo de la sección anterior e insertamos 'Truly' entre 'Python' y 'Rocks!'. Tenga en cuenta que Python utiliza indexación basada en cero, lo que significa que el índice del primer elemento de la lista es 0. Consulta el ejemplo para más detalles:

# Initialize an empty list
my_list = []

# Append elements
my_list.append('Python')
my_list.append('Rocks!')
my_list.append('It’s easy to learn!')

# `my_list` is now ['Python', 'Rocks!', 'It’s easy to learn!']

# Showcase zero-based indexing in Python
my_list[0] # Returns 'Python'
my_list[1] # Returns 'Rocks'
my_list[2] # Returns 'It's easy to learn!'

# Use the .insert() method to insert ’Truly’ between ’Python’ and ’Rocks!’
my_list.insert(1, 'Truly')
# `my_list` is now ['Python', 'Truly', 'Rocks', 'It’s easy to learn!']

Añadir varios elementos con .extend()

Mientras que los métodos .append() y .insert() son perfectos para añadir elementos individuales a una lista, .extend() nos permite añadir varios elementos a la vez. Esto puede ser especialmente útil cuando se desea fusionar dos listas o añadir una colección de elementos sin iterar a través de ellos. A partir del ejemplo anterior, añadamos algunas palabras descriptivas más a my_list para que la frase resulte más interesante:

# Reminder that `my_list` is ['Python', 'Truly', 'Rocks', 'It’s easy to learn!']

# Extend my_list with ['and', 'fun', 'to', 'use!']
my_list.extend(['and', 'fun', 'to', 'use!'])

# `my_list` is now ['Python', 'Truly', 'Rocks!', 'It’s easy to learn!', 'and', 'fun', 'to', 'use!']

En este ejemplo, .extend() toma un iterable (como una lista, un conjunto o una tupla) y añade cada uno de sus elementos al final de my_list, expandiendo aún más nuestra sentencia.

Concatenar listas con +

Otra forma de añadir elementos de una lista a otra es mediante el operador +, que concatena dos listas. Este método es sencillo y no modifica las listas originales, sino que crea una nueva lista. Vamos a concatenar una nueva lista con nuestra ya existente my_list:

# Define a new list to concatenate
additional_words = ['Python is also', 'very versatile.']

# Concatenate lists using +
complete_sentence = my_list + additional_words

# `complete_sentence` now contains the elements of both lists
# `complete_sentence` is now ['Python', 'Truly', 'Rocks!', 'It’s easy to learn!', 'and', 'fun', 'to', 'use!', 'Python is also', 'very versatile.']

En este ejemplo, .extend() toma un iterable (como una lista, un conjunto o una tupla) y añade cada uno de sus elementos al final de my_list, expandiendo aún más nuestra sentencia.

Copiar listas con .copy()

Copiar una lista es esencial cuando se desea conservar la lista original antes de modificar su copia. El método .copy() crea una copia superficial de la lista, es decir, duplica la lista en sí, pero no los objetos profundos que contiene. Hagamos una copia de my_list:

# Make a copy of `my_list`
my_list_copy = my_list.copy()

# Verify that `my_list_copy` is a separate object
assert my_list_copy is not my_list  # This will pass, confirming they are different objects

El uso de .copy() garantiza que los cambios realizados en la lista copiada no afecten a la lista original.

Borrar la lista con .clear()

A veces, puede que necesites restablecer una lista a su estado vacío, eliminando todos sus elementos. El método .clear() le permite hacer precisamente eso, modificando la lista in situ. Despejemos my_list:

# Clear all elements from `my_list`
my_list.clear()

# `my_list` is now an empty list again
assert len(my_list) == 0  # This will pass, confirming the list is empty

El método .clear() es especialmente útil en situaciones en las que es necesario reutilizar o restablecer la lista sin crear un nuevo objeto de lista.

Casos de uso común para inicializar listas vacías en Python

Las listas vacías son elementos necesarios en diversos escenarios de programación. Comprender sus aplicaciones puede mejorar considerablemente la eficacia de la codificación y la capacidad para resolver problemas.

Almacenamiento dinámico de datos en una lista vacía

En situaciones en las que la cantidad o el tipo de datos son imprevisibles, las listas vacías surgen como contenedores flexibles para acumular información de forma dinámica. Considere un programa que lee la entrada del usuario hasta que se cumple una condición específica. Aquí, no sabemos el número de entradas de usuario que podemos obtener, y utilizando el método .append(), podemos añadir elementos a la lista user_response dinámicamente.

# Initialize an empty list to store user input
user_responses = []

# Collect user input in a loop
while True:
    response = input("Enter your response (or type 'exit' to finish): ")
    if response.lower() == 'exit':
        break
    user_responses.append(response)

# User responses are now stored in `user_responses`

Almacenar los resultados en una lista vacía de un For loop

Cuando se trabaja con bucles, las listas vacías resultan muy útiles para compilar los resultados generados en cada iteración. Este es un ejemplo en el que almacenamos números pares mientras recorremos el rango de 0 a 20.

# Initialize an empty list to store even numbers
even_numbers = []

# Loop through a range of numbers and store even ones
for number in range(21):  # Upper limit 21 to include 20 in the range
    if number % 2 == 0: # if remainder when divided by 2 =0, store it in empty list
        even_numbers.append(number)

# `even_numbers` now contains even numbers from 0 to 20

Almacenamiento de los resultados de las funciones en listas vacías

Cuando se diseñan funciones con valores de retorno variables, inicializar y devolver una lista vacía puede manejar con elegancia escenarios sin resultados. Aquí, por ejemplo, hacemos un bucle sobre una lista de palabras y almacenamos las palabras que empiezan por 'A' en una lista vacía.

def find_strings_starting_with_a(strings):
    # Initialize an empty list to store strings that start with 'A'
    strings_starting_with_a = []
    
    # Iterate over the input list and append strings that start with 'A' to `strings_starting_with_a`
    for string in strings:
        if string.startswith('A'):
            strings_starting_with_a.append(string)
    
    return strings_starting_with_a

# Example usage
result = find_strings_starting_with_a(['Assert', 'Import', 'Function', 'Array', 'Arguments'])

# 'result' will contain ['Assert', 'Array', 'Arguments']

Conclusión

En resumen, dominar las listas vacías y sus operaciones es crucial en la programación en Python, ya que permite una manipulación versátil de los datos. Mediante la adición, inserción, ampliación, concatenación, copia y borrado, hemos visto cómo gestionar eficazmente las listas en situaciones prácticas. Estas habilidades fundamentales forman la columna vertebral de la programación en Python, permitiéndole abordar problemas más complejos con facilidad y creatividad.

Puedes obtener más información sobre las listas de Python y muchas otras funciones útiles en nuestro curso de Fundamentos de Python: ¡empieza hoy mismo!

Temas

Sigue aprendiendo Python

Track

Fundamentos de Python

15 horas hr
Desarrolle sus habilidades como programador. Descubra cómo manipular diccionarios y DataFrames, visualizar datos del mundo real y escribir sus propias funciones de Python.
See DetailsRight Arrow
Start Course
Certificación disponible

Course

Introducción a Python

4 hr
5.5M
Domina los fundamentos del análisis de datos con Python en sólo cuatro horas. Este curso online introducirá la interfaz de Python y explorará paquetes populares.
Ver másRight Arrow
Relacionado

tutorial

Cómo recortar una cadena en Python: Tres métodos diferentes

Aprenda los fundamentos del recorte de caracteres iniciales y finales de una cadena en Python.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Pandas Profiling (ydata-profiling) en Python: Guía para principiantes

Aprenda a utilizar la biblioteca ydata-profiling en Python para generar informes detallados de conjuntos de datos con muchas características.
Satyam Tripathi's photo

Satyam Tripathi

9 min

tutorial

Guía paso a paso para hacer mapas en Python usando la librería Plotly

Haz que tus datos destaquen con impresionantes mapas creados con Plotly en Python
Moez Ali's photo

Moez Ali

7 min

tutorial

Tutorial de Python Seaborn Line Plot: Crear visualizaciones de datos

Descubra cómo utilizar Seaborn, una popular biblioteca de visualización de datos de Python, para crear y personalizar gráficos de líneas en Python.
Elena Kosourova's photo

Elena Kosourova

12 min

tutorial

Gráfico lineal de series temporales Matplotlib

Este tutorial explora cómo crear y personalizar gráficos de líneas de series temporales en matplotlib.
Elena Kosourova's photo

Elena Kosourova

8 min

tutorial

Tutorial de minería de reglas de asociación en Python

Descubrir patrones ocultos en Python con minería de reglas de asociación
Moez Ali's photo

Moez Ali

14 min

See MoreSee More