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