Podemos tener una aplicación para encontrar las listas con el valor máximo e imprimirla. Esto parece una tarea bastante fácil y también puede ser fácil de codificar, pero tener atajos para realizar lo mismo siempre es útil, ya que este tipo de problema puede surgir en el desarrollo web.
Método #1: Usar reduce()
+ lambda
Las dos funciones anteriores pueden ayudarnos a lograr esta tarea en particular. La función lambda hace la tarea de lógica e iteración y la función de reducción hace la tarea de devolver el resultado requerido. Funciona solo en python 2.
# Python code to demonstrate # Row with Maximum Product # using reduce() + lambda # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing matrix test_matrix = [[1, 3, 1], [4, 5, 3], [1, 2, 4]] # printing the original matrix print ("The original matrix is : " + str(test_matrix)) # using reduce() + lambda # Row with Maximum Product res = reduce(lambda i, j: i if prod(i) > prod(j) else j, test_matrix) # printing result print ("Maximum Product row is : " + str(res))
The original matrix is : [[1, 3, 1], [4, 5, 3], [1, 2, 4]] Maximum Product row is : [4, 5, 3]
Método n.º 2: uso de la tecla max() +
La función max puede obtener el máximo de toda la lista y la tecla se usa para especificar cuál es la condición máxima que se debe aplicar, es decir, el producto en este caso.
# Python3 code to demonstrate # Row with Maximum Product # using max() + key # getting Product def prod(val) : res = 1 for ele in val: res *= ele return res # initializing matrix test_matrix = [[1, 3, 1], [4, 5, 3], [1, 2, 4]] # printing the original matrix print ("The original matrix is : " + str(test_matrix)) # using max() + key # Row with Maximum Product res = max(test_matrix, key = prod) # printing result print ("Maximum product row is : " + str(res))
The original matrix is : [[1, 3, 1], [4, 5, 3], [1, 2, 4]] Maximum Product row is : [4, 5, 3]
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