Python, que es el lenguaje de los magos, se puede usar para realizar muchas tareas tediosas y repetitivas de una manera fácil y concisa, y siempre es útil tener el conocimiento para utilizar esta herramienta al máximo. Una de esas pequeñas aplicaciones puede ser encontrar el producto de los cuadrados de una lista en una sola línea. Analicemos ciertas formas en que esto se puede realizar. Método n.º 1: usar reduce() + lambda El poder de las funciones lambda para realizar tareas largas en una sola línea, permite combinarlo con reduce, que se usa para acumular el subproblema, para realizar esta tarea también. Funciona solo con Python 2.
Python3
# Python code to demonstrate # Product of Squares in List # using reduce() + lambda # initializing list test_list = [3, 5, 7, 9, 11] # printing original list print ("The original list is : " + str(test_list)) # using reduce() + lambda # Product of Squares in List res = reduce(lambda i, j: i * j*j, [test_list[:1][0]**2]+test_list[1:]) # printing result print ("The product of squares of list is : " + str(res))
The original list is : [3, 5, 7, 9, 11] The product of squares of list is : 108056025
Método #2: Usando map() + bucle La solución similar también se puede obtener usando la función de mapa para integrar y la función de producto externo para realizar el producto del número al cuadrado.
Python3
# Python3 code to demonstrate # Product of Squares in List # using sum() + max() # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing list test_list = [3, 5, 7, 9, 11] # printing original list print ("The original list is : " + str(test_list)) # using sum() + max() # Product of Squares in List res = prod(map(lambda i : i * i, test_list)) # printing result print ("The product of squares of list is : " + str(res))
The original list is : [3, 5, 7, 9, 11] The product of squares of list is : 108056025
Complejidad temporal : O(n) donde n no es ningún elemento de la lista
Espacio Auxiliar: O(1)
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