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 debe eliminarse de la lista original y realizar su suma. Vamos a discutir varias formas en que esto se puede realizar.
Método n.º 1: usar la comprensión de listas + sum()
La comprensión de listas se puede usar para realizar el método ingenuo en solo una línea y, por lo tanto, brinda un método fácil para realizar esta tarea en particular. La tarea de realizar la suma se realiza mediante sum().
# Python 3 code to demonstrate # Summation after elements removal # using list comprehension + sum() # initializing list test_list = [1, 3, 4, 6, 7, 6] # initializing remove list remove_list = [3, 6] # printing original list print ("The original list is : " + str(test_list)) # printing remove list print ("The remove list is : " + str(remove_list)) # using list comprehension + sum() to perform task res = sum([i for i in test_list if i not in remove_list]) # printing result print ("The list after performing removal summation is : " + str(res))
The original list is : [1, 3, 4, 6, 7, 6] The remove list is : [3, 6] The list after performing removal summation is : 12
Método #2: Usarfilter() + lambda + sum()
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. La tarea de realizar la suma se realiza mediante sum().
# Python 3 code to demonstrate # Summation after elements removal # using filter() + lambda + sum() # 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 remove list is : " + str(remove_list)) # using filter() + lambda + sum() to perform task res = sum(filter(lambda i: i not in remove_list, test_list)) # printing result print ("The list after performing removal summation is : " + str(res))
The original list is : [1, 3, 4, 6, 7, 6] The remove list is : [3, 6] The list after performing removal summation is : 12
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