📜  Python - 具有最大产品的行

📅  最后修改于: 2022-05-13 01:55:45.301000             🧑  作者: Mango

Python - 具有最大产品的行

我们可以有一个应用程序来查找具有最大值的列表并打印它。这似乎是一项很容易的任务,也可能很容易编码,但是使用速记来执行同样的任务总是有帮助的,因为这种问题可能会出现在 Web 开发中。

方法 #1:使用reduce() + lambda
以上两个函数可以帮助我们完成这个特定的任务。 lambda函数执行逻辑和迭代任务,reduce函数执行返回所需结果的任务。仅适用于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]

方法#2:使用 max() + key
max函数可以获得所有列表中的最大值,并且 key 用于指定在这种情况下必须应用的最大条件是产品。

# 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]