Saltar al contenido principal

Cómo eliminar un elemento de una lista en Python

Comprende cómo eliminar elementos de una lista en Python. Familiarízate con métodos como remove(), pop() y del para la gestión de listas.
Actualizado 2 ago 2024  · 7 min de lectura

Las listas aparecen con frecuencia en la programación en Python, y por una buena razón. Ayudan a los analistas a organizar, gestionar y procesar los datos. Por ejemplo, aumentan o disminuyen de tamaño dinámicamente cuando los datos tienen una longitud variable. Las listas también pueden convertirse fácilmente en otros tipos o estructuras de datos, como tuplas o matrices. Incluso se utilizan como bloques de construcción en algoritmos más avanzados que requieren buscar, ordenar e iterar a través de los datos.

Como Python es un lenguaje de programación versátil, hay muchas formas de eliminar un elemento de una lista en Python. En este tutorial, veremos algunos métodos clave, incluidas funciones incorporadas como remove() y pop(), comprensiones de listas y la palabra clave del.

Si eres un aspirante a analista de datos o científico de datos, te recomiendo encarecidamente que sigas el curso de Introducción a Python de DataCamp para aprender los conocimientos básicos de la programación en Python. La Hoja de trucos de Python para principiantes también será una referencia útil para dominar la sintaxis de las distintas funciones de Python. 

3 Métodos rápidos para eliminar elementos de la lista

Puedes utilizar cualquiera de los siguientes métodos para eliminar un elemento de una lista. En el primer caso, podemos utilizar la función remove()

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]
# Remove the element with the value 5 from the list
my_list.remove(5)

También podemos utilizar la función pop()

# Removes the last element from the list
last_element = my_list.pop()

También podemos utilizar la palabra clave del.

# Remove item at index 4
del my_list[4]

En cada uno de los casos anteriores, la nueva lista será [1, 2, 3, 4] después de eliminar el elemento.

Comprender las listas en Python

Las listas de Python son colecciones ordenadas de elementos que se utilizan para almacenar cualquier tipo de datos. Las listas de Python son versátiles y dinámicas, y permiten distintos tipos de manipulación de datos. Debido a su flexibilidad, las listas en Python tienen los siguientes casos de uso:

  • Almacenamiento de datos: Las listas se utilizan para almacenar colecciones de elementos, como cadenas, números y objetos.
  • Manipulación de datos: Las listas pueden utilizarse para diversas tareas de manipulación y transformación de datos, como añadir, eliminar o modificar elementos. 
  • Iteración: Las listas se utilizan en iteración para acceder a cada elemento y procesarlo secuencialmente.

También es importante saber que las listas de Python son mutables, lo que permite modificarlas incluso después de crearlas. Por tanto, puedes añadir, eliminar o modificar los elementos de la lista según necesites.

Técnicas detalladas para eliminar elementos de una lista en Python

Python tiene diferentes métodos para eliminar elementos de una lista. Estas técnicas incluyen el método incorporado, las palabras clave y la comprensión de listas.

Utilizar la función eliminar()

La función remove() es el método incorporado de Python para eliminar un elemento de una lista. La función remove() es como se muestra a continuación.

list.remove(item)

A continuación se muestra un ejemplo básico de utilización de la función remove(). La función eliminará de la lista el elemento con el valor 3.

La función remove() sólo eliminará la primera aparición de un elemento en una lista si hay duplicados en la misma lista. En el siguiente ejemplo, la función remove() sólo elimina de la lista la primera aparición de 3.

# Define a list with some elements
my_list = [1, 2, 3, 4, 3]

# Use the remove() method to delete 3 from the list
# The remove() method removes the first occurrence of the specified value
my_list.remove(3)

# Print the list after removing 3
print(my_list)
[1, 2, 4, 3]

La función remove() devolverá un error de valor si un elemento no está en la lista. Por lo tanto, es importante añadir una excepción para manejar estos escenarios. El código siguiente muestra un ejemplo de captura del error para los elementos que no están en la lista.

# Initialize a list with color strings
colors = ["red", "green", "blue"]

# Try to remove the color "yellow" from the list
try:
    colors.remove("yellow")
# Catch the ValueError exception if "yellow" is not found in the list
except ValueError as e:
    print(e) 
list.remove(x): x not in list

Utilizar la función pop()

La función pop() elimina un elemento de una lista por índice. La sintaxis de la función pop() se muestra a continuación.

list.pop(index)

El siguiente ejemplo muestra cómo utilizar la función pop() para eliminar un elemento concreto de una lista especificando el índice. Ten en cuenta que puedes almacenar el elemento eliminado como una nueva lista y devolverla.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove and return the element at index 2 (third element) from the list
removed_item = my_list.pop(2)

# Print the updated list after removing the element
print(my_list)
print(removed_item)
[1, 2, 4, 5]
3

Si no especificas el índice del elemento a eliminar de la lista, la función pop() eliminará por defecto el último elemento de la lista.

Si quieres eliminar el primer elemento de una lista en Python, especificarás el índice como 0 utilizando la función pop().

# Initialize a list with string elements from 'a' to 'd'
my_list = ["a", "b", "c", "d"]

# Remove and return the element at index 0 (the first element) from the list
removed_item = my_list.pop(0)

# Print the updated list after removing the element
print(my_list)
print(removed_item)
['b', 'c', 'd']
a

Del mismo modo, si quieres eliminar el último elemento de una lista, especificarás el último índice como -1 utilizando la función pop().

# Initialize a list with string elements from 'a' to 'd'
my_list = ["a", "b", "c", "d"]

# Remove and return the element at index -1 (the last element) from the list
removed_item = my_list.pop(-1)

# Print the updated list after removing the last element
print(my_list)
print(removed_item)
['a', 'b', 'c']
d

Si un elemento está fuera del rango de la lista, la función pop() emitirá un mensaje IndexError. Para manejar los índices fuera de rango, debes utilizar el bloque try-except.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Attempt to remove and return the element at index 10
# This will raise an IndexError because index 10 is out of range for the list
try:
    removed_item = my_list.pop(10)
# Catch the IndexError exception if the index is out of range
except IndexError as e:
    print(e) 
pop index out of range

Consulta nuestro último tutorial sobre Cómo utilizar el método pop() de Python para saber más sobre cómo eliminar elementos de una lista utilizando este método.

Utilizar la palabra clave del

La palabra clave del es útil para eliminar elementos o trozos de una lista en Python. La sintaxis para eliminar un único elemento de la lista se muestra a continuación.

del list[index]

El siguiente ejemplo muestra cómo eliminar un único elemento de una lista utilizando la palabra clave del.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove item at index 2
del my_list[2]
print(my_list)
[1, 2, 4, 5]

Del mismo modo, la palabra clave del proporciona la funcionalidad de eliminar una porción de elementos de una lista. La sintaxis para eliminar varios elementos se muestra a continuación donde:

  • start indica el inicio del índice del corte.

  • end indica el final del índice del corte.

del list[start:end]

El siguiente ejemplo muestra la técnica de troceado para eliminar varios elementos de una lista utilizando la palabra clave del.

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Delete the elements from index 1 to index 2 (elements 2 and 3) from the list
# This modifies the list to [1, 4, 5]
del my_list[1:3]
print(my_list) 
[1, 4, 5]

La palabra clave del también elimina varios elementos de una lista utilizando el método del paso. La sintaxis del método escalonado se muestra a continuación donde:

  • start indica el inicio del índice del corte.

  • end indica el final del índice del corte.

  • step muestra los intervalos entre cortes (1 por defecto).

del list[start:end:step]

El siguiente ejemplo muestra cómo eliminar elementos de una lista utilizando el método por pasos.

# Initialize a list with integers from 1 to 8
my_list = [1, 2, 3, 4, 5, 6, 7, 8]

# Delete elements from the list using slicing with a step of 2
del my_list[::2]
print(my_list)
[2, 4, 6, 8]

Las ventajas de utilizar la palabra clave del para eliminar elementos de la lista son las siguientes:

  • Eficacia: La palabra clave del es eficiente en memoria, ya que te permite eliminar elementos en su sitio, mejorando el rendimiento.

  • Versatilidad: Utilizando el método de pasos, la palabra clave del es útil para eliminar elementos sueltos, trozos o elementos y elementos múltiples de una lista.

Sin embargo, los posibles problemas de utilizar la palabra clave del para eliminar elementos de una lista incluyen errores de indexación, especialmente cuando un elemento está fuera de rango. Por lo tanto, es importante utilizar el bloque try-except para atrapar el IndexError.

# Initialize a list with integers 1, 2, and 3
my_list = [1, 2, 3]

# Attempt to delete the element at index 5
# This will raise an IndexError because index 5 is out of range for the list
try:
    del my_list[5]
# Catch the IndexError exception if the index is out of range
except IndexError as e:
    print(e) 
list assignment index out of range

Cuando utilices las palabras clave del, debes tener cuidado al especificar los trozos para evitar eliminaciones involuntarias, que pueden ser difíciles de depurar.

Utilizar comprensiones de listas

Como apartado final, podemos considerar las comprensiones de listas. Las comprensiones de listas pueden utilizarse para crear listas nuevas a partir de una lista existente, excluyendo algunos elementos. Esta técnica se utiliza mejor cuando se elimina un elemento de una lista basándose en condiciones específicas. 

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Create a new list that includes all items from my_list except for the value 3
new_list = [item for item in my_list if item != 3]
print(new_list)
[1, 2, 4, 5]

Del mismo modo, las comprensiones de listas pueden utilizarse para eliminar elementos en función de una condición. El ejemplo siguiente muestra cómo utilizar la comprensión de listas para eliminar los números pares de la lista original.

# Initialize a list of integers from 1 to 10
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Create a new list containing only the odd numbers from the original list
odd_numbers = [num for num in numbers if num % 2 != 0]
print(odd_numbers)
[1, 3, 5, 7, 9]

Utilizar la comprensión de listas en las listas ofrece flexibilidad a la hora de manejar escenarios complejos, como transformar datos a un nuevo formato o crear listas a partir de estructuras de datos existentes. 

El siguiente ejemplo muestra cómo utilizar la comprensión de listas para convertir cadenas a mayúsculas y filtrar elementos concretos.

# Initialize a list of fruit names
words = ["apple", "banana", "cherry", "avocado", "grape"]

# Create a new list containing the uppercase versions of words that start with the letter 'a'
a_words_upper = [word.upper() for word in words if word.startswith("a")]
print(a_words_upper)
['APPLE', 'AVOCADO']

Las comprensiones de listas también pueden utilizarse para aplanar y realizar otras operaciones en comprensiones de listas anidadas. En el ejemplo siguiente, se utilizó la comprensión de listas para aplanar la lista y eliminar los números impares.

# Initialize a list containing sublists of integers
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Create a flat list of even numbers by iterating through each sublist
# and checking if each number is even
flat_even_numbers = [num for sublist in list_of_lists for num in sublist if num % 2 == 0]
print(flat_even_numbers) 
[2, 4, 6, 8]

Tabla comparativa

Technique Caso práctico Cuándo es útil
remove() Eliminar elementos concretos de una lista Al eliminar elementos de una lista y tratar duplicados
pop() Eliminar y devolver elementos de una lista especificada Cuando quieras devolver el elemento eliminado de la lista
del Eliminar elementos o partes de elementos de una lista Al eliminar varios elementos o borrar elementos de una lista
Comprensión de la lista Crear una nueva lista basada en la condición de la lista existente Para operaciones complejas con listas, incluido el filtrado

Si quieres saber más sobre la manipulación de listas en el análisis de datos, recorre nuestro itinerario profesional de Analista de Datos con Python para desarrollar tus habilidades analíticas.

Manejo de Múltiples Ocurrencias y Condiciones

Cuando trabajes con listas en Python, es posible que te encuentres con situaciones en las que necesites eliminar varios elementos de una lista. En tales condiciones, necesitarás un bucle para iterar y eliminar los elementos.

Utilizando bucle y remove()

El siguiente ejemplo muestra cómo utilizar el bucle y la función remove() para eliminar varios elementos de una lista.

# Initialize a list of integers
my_list = [1, 2, 3, 2, 4, 2, 5]

# Item to remove
item_to_remove = 2

# Loop to remove all occurrences
while item_to_remove in my_list:
    my_list.remove(item_to_remove)
print(my_list)
[1, 3, 4, 5]

Utilizar la comprensión de bucles y listas

También puedes utilizar un bucle en la comprensión de listas para eliminar varias apariciones de un elemento de una lista.

# Initialize a list of integers
my_list = [1, 2, 3, 2, 4, 2, 5]

# Item to remove
item_to_remove = 2

# List comprehension to remove all occurrences
new_list = [item for item in my_list if item != item_to_remove]
print(new_list)
[1, 3, 4, 5]

Conclusión

Comprender cuándo y cómo aplicar los distintos métodos de manipulación de listas en tu tarea de análisis es esencial. Además, asegúrate de que sabes cómo detectar errores, manejar casos extremos y utilizar métodos complejos en la manipulación de listas. Te animo a que experimentes con los métodos expuestos en tu consulta para encontrar el enfoque más adecuado para tus distintos análisis.

Si quieres aprender más sobre Python para el análisis de datos, prueba nuestra pista de habilidades Fundamentos de Python, que tiene una guía completa de manipulación y transformación de datos. Por último, el itinerario profesional de Programación en Python y el itinerario profesional de Desarrollador en Python de DataCamp te ofrecerán amplios conocimientos para abrir un nuevo capítulo en tu carrera.

Preguntas frecuentes

¿Cómo elimino un elemento de una lista?

La función incorporada remove() es útil para eliminar la primera aparición de un elemento en una lista.

¿Cómo se gestionan los duplicados en una lista?

Puedes eliminar los duplicados de una lista utilizando un bucle en la función remove() o un bucle en la comprensión de la lista.

¿Puedes eliminar elementos mientras iteras en una lista?

Puedes utilizar la comprensión de listas para eliminar elementos de una lista mientras iteras sobre ella.

¿Cuál es la diferencia entre las funciones remove() y pop()?

La función remove() elimina un elemento de una lista y devuelve la nueva lista, mientras que la función pop() elimina un elemento de una lista y devuelve la nueva lista con el elemento eliminado.

Temas

Aprende Python con DataCamp

curso

Python Toolbox

4 hr
278.3K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Ver detallesRight Arrow
Comienza El Curso
Ver másRight Arrow
Relacionado

tutorial

Tutorial y Ejemplos de Funciones y Métodos de Listas en Python

Conozca las funciones y métodos de lista de Python. Siga ahora ejemplos de código de list() y otras funciones y métodos de Python.

Abid Ali Awan

7 min

tutorial

Python Copy List: Lo que debes saber

Comprende cómo copiar listas en Python. Aprende a utilizar las funciones copy() y list(). Descubre la diferencia entre copias superficiales y profundas.
Allan Ouko's photo

Allan Ouko

7 min

tutorial

Tutorial de list index() de Python

En este tutorial, aprenderás exclusivamente sobre la función index().
Sejal Jaiswal's photo

Sejal Jaiswal

6 min

tutorial

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.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Tutorial de comprensión del diccionario Python

¡Aprende todo sobre la comprensión de diccionarios en Python: cómo puedes utilizarla para crear diccionarios, para sustituir los for loops (anidados) o las funciones lambda por map(), filter() y reduce(), ...!
Sejal Jaiswal's photo

Sejal Jaiswal

14 min

tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

See MoreSee More