Python | Columna Producto en Lista de listas

A veces, nos encontramos con un problema en el que necesitamos encontrar el producto de cada columna en una array, es decir, el producto de cada índice en una lista de listas. Este tipo de problema es bastante común y útil en la programación competitiva. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: Uso de bucle + comprensión de lista +zip()
Se requiere la combinación de los métodos anteriores para resolver este problema en particular. La función de producto explícito se usa para obtener el valor del producto requerido y la función zip proporciona la combinación de índices similares y luego se crea la lista usando la comprensión de lista.

# Python3 code to demonstrate
# Column Product in List of lists
# using loop + list comprehension + zip()
  
# getting Product
def prod(val) :
    res = 1 
    for ele in val:
        res *= ele
    return res 
  
# initializing list
test_list = [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using loop + list comprehension + zip()
# Column Product in List of lists
res = [prod(idx) for idx in zip(*test_list)]
  
# print result
print("The Product of each index list is : " + str(res))
Producción :

The original list : [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
The Product of each index list is : [27, 63, 60]

Método #2: Usarmap() + loop + zip()
Esto funciona casi de manera similar al método anterior, pero la diferencia es que usamos la función de mapa para construir la lista de productos en lugar de usar la comprensión de la lista.

# Python3 code to demonstrate
# Column Product in List of lists
# using map() + loop + zip()
  
# getting Product
def prod(val) :
    res = 1 
    for ele in val:
        res *= ele
    return res 
  
# initializing list
test_list = [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using map() + loop + zip()
# Column Product in List of lists
res = list(map(prod, zip(*test_list)))
  
# print result
print("The Product of each index list is : " + str(res))
Producción :

The original list : [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
The Product of each index list is : [27, 63, 60]

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 *