Python | N-ésima columna Array Producto

A veces, mientras trabajamos con Python Matrix, podemos tener un problema en el que necesitamos encontrar el producto de una columna en particular. Esto puede tener una posible aplicación en la programación diurna y en la programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usar bucle +zip()
Esta tarea se puede resolver usando la combinación de las funciones anteriores. En esto, pasamos zip() a la lista, para acceder a todas las columnas y hacer un bucle para obtener el producto de las columnas.

# Python3 code to demonstrate working of 
# Nth column Matrix Product 
# using loop + zip() 
  
def prod(val) :     
    res = 1         
    for ele in val:         
        res *= ele         
    return res
  
# initialize list 
test_list = [[5, 6, 7], 
            [9, 10, 2], 
            [10, 3, 4]] 
  
# printing original list 
print("The original list is : " + str(test_list)) 
  
# initialize N
N = 2
  
# Nth column Matrix Product 
# using loop + zip() 
res = [prod(idx) for idx in zip(*test_list)][N] 
  
# printing result 
print("Product of Nth column is : " + str(res)) 
Producción :

The original list is : [[5, 6, 7], [9, 10, 2], [10, 3, 4]]
Product of Nth column is : 56

Método n.º 2: Uso del bucle
Esta es una forma de fuerza bruta para resolver este problema. En esto, iteramos a través de la array y tomamos el producto de la columna probando el número de columna.

# Python3 code to demonstrate working of 
# Nth column Matrix Product  
# Using loop 
  
# initialize list 
test_list = [[5, 6, 7], 
            [9, 10, 2], 
            [10, 3, 4]] 
  
# printing original list 
print("The original list is : " + str(test_list)) 
  
# initialize N
N = 2
  
# Nth column Matrix Product  
# Using loop 
res = 1
for sub in test_list: 
    for idx in range(0, len(sub)): 
        if idx == N: 
            res = res * sub[idx] 
  
# printing result 
print("Product of Nth column is : " + str(res)) 
Producción :

The original list is : [[5, 6, 7], [9, 10, 2], [10, 3, 4]]
Product of Nth column is : 56

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 *