Python – Fila con Producto Máximo

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))
Producción :

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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *