Python | Array Tupla par Columna producto

A veces, nos encontramos con un problema en el que tratamos con un tipo complejo de producto de columna de array en el que se nos da una tupla y necesitamos realizar el producto de sus elementos similares. Esto tiene una buena aplicación en el dominio de Machine Learning. Vamos a discutir ciertas formas en que esto se puede hacer.

Método n.º 1: Uso zip()de la comprensión de lista +
Este problema se puede resolver utilizando la comprensión de lista, que podría realizar la lógica de producto de columna y la función zip se usa para vincular los elementos como resultado y también en el momento del producto vertical.

# Python3 code to demonstrate
# Matrix Tuple pair Column product
# using list comprehension + zip()
  
# getting Product 
def prod(val) : 
    res = 1 
    for ele in val: 
        res *= ele 
    return res  
  
# initializing list 
test_list = [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + zip()
# Matrix Tuple pair Column product
res = [tuple(prod(j) for j in zip(*i)) for i in zip(*test_list)]
  
# print result
print("The product of columns of tuple list : " + str(res))
Producción :

The original list : [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]]
The product of columns of tuple list : [(3, 28), (2, 27), (50, 10)]

Método n.º 2: usozip() + map()
La tarea de vincular los elementos de la columna también se puede realizar mediante la función map y la función zip realiza la tarea de vincular las tuplas del producto. Ambas lógicas ligadas por comprensión de listas.

# Python3 code to demonstrate
# Matrix Tuple pair Column product
# using zip() + map()
  
# getting Product 
def prod(val) : 
    res = 1 
    for ele in val: 
        res *= ele 
    return res 
  
# initializing list 
test_list = [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using zip() + map()
# Matrix Tuple pair Column product
res = [tuple(map(prod, zip(*i))) for i in zip(*test_list)]
  
# print result
print("The product of columns of tuple list : " + str(res))
Producción :

The original list : [[(1, 4), (2, 3), (5, 2)], [(3, 7), (1, 9), (10, 5)]]
The product of columns of tuple list : [(3, 28), (2, 27), (50, 10)]

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 *