Python | Suma de posición en lista de tuplas

A veces, los datos que recibimos están en forma de tuplas que tienen datos de varias fuentes y, por lo general, podemos tener un caso de uso en el que necesitamos procesar la suma de cada índice de tupla para la acumulación. Analicemos ciertas formas en que esto se puede realizar.

Método #1: Usar la comprensión de listas
Este es el método más ingenuo para realizar esta tarea en particular, en este método calculamos la suma de cada índice de todos los índices posibles de la tupla.

# Python3 code to demonstrate 
# position summation in list of tuples
# using list comprehension
  
# initializing list 
test_list = [(1, 6), (3, 4), (5, 8)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# position Summation in List of Tuples
# using list comprehension
res = sum(i[0] for i in test_list), sum(i[1] for i in test_list)
  
# printing summation
print ("The position summation of tuples  : " + str(res))

Producción :

The original list is : [(1, 6), (3, 4), (5, 8)]
The position summation of tuples  : (9, 18)

Método #2: Usarzip() + sum()
Esta es la forma más elegante y pythonica de realizar esta tarea en particular. En esto combinamos todos los índices del elemento usando zip()y el rendimiento de la suma usando la función sum.

# Python3 code to demonstrate 
# position summation in list of tuples
# using zip() + sum()
  
# initializing list 
test_list = [(1, 6), (3, 4), (5, 8)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# position Summation in List of Tuples
# using zip() + sum()
res = [sum(i) for i in zip(*test_list)]
  
# printing summation
print ("The position summation of tuples  : " + str(res))

Producción :

The original list is : [(1, 6), (3, 4), (5, 8)]
The position summation of tuples  : [9, 18]

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 *