Eliminar todas las ocurrencias de un elemento de una lista en Python

La tarea es realizar la operación de eliminar todas las apariciones de un elemento/elemento determinado presente en una lista. Ejemplos:

Entrada: 1 1 2 3 4 5 1 2 1 Salida: 2 3 4 5 2 Explicación: la lista de entrada es [1, 1, 2, 3, 4, 5, 1, 2] y el elemento que se eliminará es 1. Después de eliminar el elemento, la lista de salida es [2, 3, 4, 5, 2] Entrada: 5 6 7 8 9 10 7 Salida: 5 6 8 9 10

En este artículo, veremos cómo ejecutar esta tarea de 3 maneras:

  1. Uso de la comprensión de listas
  2. Usando filter() y __ne__
  3. Usando eliminar()

Método 1: usar la comprensión de listas La comprensión de listas se puede usar para realizar esta tarea en la que solo buscamos una coincidencia y reconstruimos la lista sin el elemento de destino. Podemos crear una sublista de aquellos elementos de la lista que cumplan una determinada condición. 

Python3

# Python 3 code to demonstrate
# the removal of all occurrences of a
# given item using list comprehension
 
def remove_items(test_list, item):
     
    # using list comprehension to perform the task
    res = [i for i in test_list if i != item]
 
    return res
 
# driver code
if __name__=="__main__":
     
    # initializing the list
    test_list = [1, 3, 4, 6, 5, 1]
 
    # the item which is to be removed
    item = 1
 
    # printing the original list
    print ("The original list is : " + str(test_list))
 
    # calling the function remove_items()
    res = remove_items(test_list, item)
 
    # printing result
    print ("The list after performing the remove operation is : " + str(res))

Producción

The original list is : [1, 3, 4, 6, 5, 1]
The list after performing the remove operation is : [3, 4, 6, 5]

Método 2: Usando filter() y __ne__ Filtramos aquellos elementos de la lista que no son iguales a __ne__ al elemento. 

Python3

# Python 3 code to demonstrate
# the removal of all occurrences of
# a given item using filter() and __ne__
 
def remove_items(test_list, item):
     
    # using filter() + __ne__ to perform the task
    res = list(filter((item).__ne__, test_list))
 
    return res
 
# driver code
if __name__=="__main__":
     
    # initializing the list
    test_list = [1, 3, 4, 6, 5, 1]
 
    # the item which is to be removed
    item = 1
 
    # printing the original list
    print ("The original list is : " + str(test_list))
 
    # calling the function remove_items()
    res = remove_items(test_list, item)
 
    # printing result
    print ("The list after performing the remove operation is : " + str(res))

Producción

The original list is : [1, 3, 4, 6, 5, 1]
The list after performing the remove operation is : [3, 4, 6, 5]

Método 3: usar remove() En este método, iteramos a través de cada elemento de la lista, y cuando encontramos una coincidencia para el elemento que se eliminará, llamaremos a la función remove() en la lista. 

Python3

# Python 3 code to demonstrate
# the removal of all occurrences of
# a given item using remove()
 
def remove_items(test_list, item):
     
    # remove the item for all its occurrences
    c = test_list.count(item)
    for i in range(c):
            test_list.remove(item)
 
    return test_list
 
# driver code
if __name__=="__main__":
     
    # initializing the list
    test_list = [1, 3, 4, 6, 5, 1]
 
    # the item which is to be removed
    item = 1
 
    # printing the original list
    print ("The original list is :" + str(test_list))
 
    # calling the function remove_items()
    res = remove_items(test_list, item)
 
    # printing result
    print ("The list after performing the remove operation is :" + str(res))

Producción

The original list is : [1, 3, 4, 6, 5, 1]
The list after performing the remove operation is : [3, 4, 6, 5]

Publicación traducida automáticamente

Artículo escrito por pranjalgupta705 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *