Python – Suma de columnas de array de tupla

A veces, mientras trabajamos con Tuple Matrix, podemos tener un problema en el que necesitamos realizar la suma de cada columna de la array de tupla, a nivel de elemento. Este tipo de problema puede tener aplicación en los dominios de Data Science. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_list = [[(4, 5), (1, 2)], [(2, 4), (4, 6)]]
Salida : [(6, 9), (5, 8)]

Entrada : test_list = [[(4, 5), (1, 2), (6, 7)]]
Salida : [(4, 5), (1, 2), (6, 7)]

Método n.º 1: usar la comprensión de listas +zip() + sum()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de suma usando sum() y zip() se usa para realizar el emparejamiento de columnas de todos los elementos.

# Python3 code to demonstrate working of 
# Tuple Matrix Columns Summation
# Using list comprehension + zip() + sum()
  
# initializing lists
test_list = [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Tuple Matrix Columns Summation
# Using list comprehension + zip() + sum()
res = [tuple(sum(ele) for ele in zip(*i)) for i in zip(*test_list)]
  
# printing result 
print("Tuple matrix columns summation : " + str(res))
Producción :

The original list is : [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]]
Tuple matrix columns summation : [(9, 9), (11, 13)]

Método #2: Usarmap() + list comprehension + zip()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extensión de sum() usando map() y el resto de las funcionalidades se realizan de manera similar al método anterior.

# Python3 code to demonstrate working of 
# Tuple Matrix Columns Summation
# Using map() + list comprehension + zip()
  
# initializing lists
test_list = [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Tuple Matrix Columns Summation
# Using map() + list comprehension + zip()
res = [tuple(map(sum, zip(*ele))) for ele in zip(*test_list)]
  
# printing result 
print("Tuple matrix columns summation : " + str(res))
Producción :

The original list is : [[(4, 5), (3, 2)], [(2, 2), (4, 6)], [(3, 2), (4, 5)]]
Tuple matrix columns summation : [(9, 9), (11, 13)]

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 *