Eliminar todas las coincidencias de un elemento de la lista en Python

A veces, cuando se trabaja con Listas de Python, puede ser necesario eliminar los elementos con un valor específico. En este tutorial, aprenderemos a eliminar todos los elementos, que tienen un valor específico dado, de una lista.

Hay muchas maneras de eliminar todos los elementos con un valor específico de la lista. A continuación se presentan algunas de ellas, que discutiremos en este tutorial.

  1. Iterar a través de los elementos de la lista y utilizar el método remove() cuando el valor del elemento coincide con el elemento de nuestro interés.
  2. Filtrar la lista con la función lambda con la condición de que el elemento no sea el de nuestro interés.
  3. Iterar sobre los ítems mientras el ítem está en la lista y usar el método remove().

Se prefiere el segundo método ya que da un mejor rendimiento. Los otros dos métodos son para aprender.

Ejemplo 1: Eliminar todas las apariciones en la lista usando el bucle For

En el siguiente ejemplo, iteramos a través de cada elemento de la lista, utilizando el bucle For de Python, y cuando encontremos una coincidencia para el elemento a eliminar, llamaremos a la función remove() en la lista.

miLista = [21, 5, 8, 52, 21, 87]
a_borrrar = 21

#eliminar el ítem para todas sus ocurrencias
for item in miLista:
	if(item==a_borrrar):
		miLista.remove(a_borrrar)

print(miLista)

Salida:

[5, 8, 52, 87]

Ejemplo 2: Eliminar todas las ocurrencias de la lista usando Filter

Filtramos aquellos elementos de la lista que no son iguales __ne__ al elemento.

miLista = ['Canino', 'Tigre', 'Zorro', 'Elefante', 'Zorro', 'Ave']
a_borrar = 'Zorro'

#eliminar el 'Zorro' para todas sus ocurrencias
miLista = list(filter((a_borrar).__ne__, miLista))

print(miLista)

Salida:

['Canino', 'Tigre', 'Elefante', 'Ave']

Ejemplo 3: Eliminar todas las apariciones en la lista utilizando la sentencia While

Mientras haya una coincidencia con un elemento de la lista, llame a la función remove() en la lista.

miLista = [21, 5, 8, 52, 21, 87]
a_borrar = 21

#Remover todas las apariciones para el elemento 'a_borrar'
while a_borrar in miLista: 
    miLista.remove(a_borrar)

print(miLista)

Salida:

[5, 8, 52, 87]

En este tutorial de Ejemplos de Python, aprendimos a eliminar todas las ocurrencias de un elemento o ítem de la lista, con la ayuda de diferentes enfoques.

Deja una respuesta