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))
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))
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