Python: suma después de la eliminación de elementos

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))
Producción :

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))
Producción :

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

Deja una respuesta

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