Python | Eliminar todos los valores de una lista presente en otra lista

A veces necesitamos realizar la operación de eliminar todos los elementos de las listas que están presentes en otra lista, es decir, se nos dan algunos de los números no válidos en una lista que deben eliminarse de la lista original. Vamos a discutir varias formas en que esto se puede realizar.
Método #1: Uso de la comprensión de 
listas La comprensión de listas se puede usar para realizar el método ingenuo en una sola línea y, por lo tanto, proporciona un método fácil para realizar esta tarea en particular.
 

Python3

# Python 3 code to demonstrate
# to remove elements present in other list
# using list comprehension
 
# initializing list
test_list = [1, 3, 4, 6, 7]
 
# initializing remove list
remove_list = [3, 6]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# printing remove list
print ("The original list is : " + str(remove_list))
 
# using list comprehension to perform task
res = [i for i in test_list if i not in remove_list]
 
# printing result
print ("The list after performing remove operation is : " + str(res))

Producción : 
 

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

Método #2: Uso de filter() + lambda 
La función de filtro se puede usar junto con lambda para realizar esta tarea y crear una nueva lista filtrada de todos los elementos que no están presentes en la lista de elementos eliminados.
 

Python3

# Python 3 code to demonstrate
# to remove elements present in other list
# using filter() + lambda
 
# initializing list
test_list = [1, 3, 4, 6, 7]
 
# initializing remove list
remove_list = [3, 6]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# printing remove list
print ("The original list is : " + str(remove_list))
 
# using filter() + lambda to perform task
res = filter(lambda i: i not in remove_list, test_list)
 
# printing result
print ("The list after performing remove operation is : " + str(res))

Producción : 
 

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

Método n.º 3: usar remove() 
remove() también puede realizar esta tarea, pero solo si la excepción de no obtener elementos específicos se maneja correctamente. Uno puede iterar por todos los elementos de la lista eliminada y eliminar esos elementos de la lista original.
 

Python3

# Python 3 code to demonstrate
# to remove elements present in other list
# using remove()
 
# initializing list
test_list = [1, 3, 4, 6, 7]
 
# initializing remove list
remove_list = [3, 6]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# printing remove list
print ("The original list is : " + str(remove_list))
 
# using remove() to perform task
# handled exceptions.
for i in remove_list:
    try:
        test_list.remove(i)
    except ValueError:
        pass
 
# printing result
print ("The list after performing remove operation is : " + str(test_list))

Producción : 
 

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

Método #4: Uso de set() 
set() puede usarse para realizar esta tarea y crear una nueva lista filtrada de todos los elementos que no están presentes en la lista de elementos eliminados.
 

Python3

# Python 3 code to demonstrate
# to remove elements present in other list
# using set()
 
# initializing list
test_list = [1, 3, 4, 6, 7]
 
# initializing remove list
remove_list = [3, 6]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# printing remove list
print ("The original list is : " + str(remove_list))
 
# using set() to perform task
set1 = set(test_list)
set2 = set(remove_list)
res = list(set1 - set2)
 
# printing result
print ("The list after performing remove operation is : " + str(res))

Producción : 
 

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

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *