A veces, mientras trabajamos con registros, podemos tener un problema en el que necesitamos encontrar la suma acumulada de todos los valores que están presentes en las tuplas. Esto puede tener aplicación en casos en los que manejemos muchos datos de registros. Analicemos ciertas formas en que se puede resolver este problema.
Método #1: Usar sum() + map()
La combinación de las funciones anteriores se puede usar para resolver este problema en particular. En esto, la tarea de sumatoria la realiza sum(), y la aplicación de la funcionalidad de sumatoria a cada elemento en la lista de tuplas la realiza map().
Python3
# Python3 code to demonstrate working of # Summation of tuples in list # using sum() + map() # initialize list of tuple test_list = [(1, 3), (5, 6, 7), (2, 6)] # printing original tuples list print("The original list : " + str(test_list)) # Summation of tuples in list # using sum() + map() res = sum(map(sum, test_list)) # printing result print("The summation of all tuple elements are : " + str(res))
The original list : [(1, 3), (5, 6, 7), (2, 6)] The summation of all tuple elements are : 30
Método #2: Usar sum() + izip()
La combinación de las funciones anteriores se puede usar para realizar esta tarea en particular. En esto, realizamos la tarea de map() usando izip(). Ayuda a agrupar todos los elementos para la suma mediante sum(). Funciona solo para tupla de un solo elemento y solo con Python2.
Python3
# Python3 code to demonstrate working of # Summation of tuples in list # using sum() + izip() from itertools import izip # initialize list of tuple test_list = [(1, ), (5, ), (2, )] # printing original tuples list print("The original list : " + str(test_list)) # Summation of tuples in list # using sum() + map() res = sum(*izip(*test_list)) # printing result print("The summation of all tuple elements are : " + str(res))
The original list : [(1, ), (5, ), (2, )] The summation of all tuple elements are : 8
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