Obtener el producto de la lista es un problema bastante común y se ha tratado y discutido muchas veces, pero a veces, necesitamos mejorarlo y el producto total, es decir, incluir también los de la lista anidada. Intentemos obtener el producto total y resolver este problema en particular.
Método n.º 1: Uso de la comprensión de listas + bucle
Podemos resolver este problema utilizando la comprensión de listas como una abreviatura potencial de los bucles convencionales que podemos usar para realizar esta tarea en particular. Simplemente iteramos y producimos la lista anidada y al final devolvemos el producto acumulativo usando la función.
# Python3 code to demonstrate # Matrix Product # Using list comprehension + loop # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing list test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]] # printing original list print("The original list : " + str(test_list)) # using list comprehension + loop # Matrix Product res = prod([ele for sub in test_list for ele in sub]) # print result print("The total element product in lists is : " + str(res))
The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]] The total element product in lists is : 1622880
Método #2: Usar el chain()
bucle +
Este problema en particular también se puede resolver usando la función de string en lugar de la comprensión de lista en la que usamos la función convencional para realizar el producto.
# Python3 code to demonstrate # Matrix Product # Using chain() + loop from itertools import chain # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing list test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]] # printing original list print("The original list : " + str(test_list)) # using chain() + loop # Matrix Product res = prod(list(chain(*test_list))) # print result print("The total element product in lists is : " + str(res))
The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]] The total element product in lists is : 1622880
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