Cómo eliminar un elemento de una lista en Python

Aprenda cómo eliminar elementos de una lista de Python. Domine la diferencia entre remove(), pop(), del y clear, con un manejo seguro de errores de índice.

Pruebe esta solución en el Editor

Descripción general

Modificar colecciones eliminando elementos es una tarea fundamental a la hora de gestionar colas, analizar configuraciones o filtrar conjuntos de datos. Como las listas de Python son mutables, puedes eliminar elementos in situ. Python ofrece varios métodos para eliminar elementos y elegir el correcto depende de si desea eliminar por valor, por índice o borrar la lista por completo.

Para eliminar un elemento por su valor, utiliza el método `.remove(value)`. Busca en la lista y elimina la *primera* aparición de ese valor. Si no se encuentra el valor, genera un "ValueError". Para eliminar un elemento en un índice específico y recuperar su valor, utiliza el método `.pop(index)` (que por defecto es el último elemento si no se proporciona ningún índice).

Si desea eliminar un elemento en un índice sin mantener su valor, puede usar la instrucción `del` (por ejemplo, `del my_list[index]`). Para borrar todos los elementos de una lista in situ, el método `.clear()` es la opción más eficiente. Comprender estas operaciones evita errores y problemas de pérdida de memoria.

Código y salida de ejecución

Este script demuestra cómo eliminar elementos de la lista por valor usando remove(), por índice usando pop() y del, y cómo borrar el contenido de la lista.

remove_list_items.py
Pruébelo en el editor
fruits = ["apple", "banana", "cherry", "banana", "date"]

# 1. Remove by value (deletes the first match only)
fruits.remove("banana")
print("After remove('banana'):", fruits)

# Handling ValueError safely
try:
    fruits.remove("orange")
except ValueError:
    print("Value 'orange' not found in list.")

# 2. Remove by index and retrieve item using pop()
popped_item = fruits.pop(1) # Removes index 1 ("cherry")
print(f"Popped: {popped_item} | List after pop:", fruits)

# 3. Delete by index without retrieving using del
del fruits[0] # Removes "apple"
print("After del index 0:", fruits)

# 4. Clear entire list in-place
fruits.clear()
print("After clear():", fruits)
Salida terminal
After remove('banana'): ['apple', 'cherry', 'banana', 'date']
Value 'orange' not found in list.
Popped: cherry | List after pop: ['apple', 'banana', 'date']
After del index 0: ['banana', 'date']
After clear(): []

Implementación paso a paso

  • Utilice list.remove(value) para buscar y eliminar la primera aparición de un valor específico.
  • Llame a list.pop(index) para eliminar y devolver el elemento en la posición de índice especificada.
  • Utilice la instrucción del list[index] para eliminar un elemento o una porción de elementos directamente por índice.
  • Llame a list.clear() para eliminar todos los elementos en su lugar, dejando una lista vacía con tamaño 0.

Preguntas frecuentes

¿Cuál es la diferencia entre pop() y del?

pop() elimina el elemento y lo devuelve, permitiéndole asignarlo a una variable. del es una declaración que elimina el elemento de la memoria sin devolverlo.

¿Cómo elimino todas las apariciones de un valor de una lista?

Utilice una lista de comprensión o un bucle while: lista = [x para x en la lista si x! = valor_objetivo]. Llamar a remove() dentro de un bucle puede omitir elementos si se modifican incorrectamente.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.