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.
- 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. - Filtrar la lista con la función lambda con la condición de que el elemento no sea el de nuestro interés.
- 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.