📜  Python|最大总和子列表

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

Python|最大总和子列表

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

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

# Python code to demonstrate
# maximum sum sublist 
# using reduce() + lambda
  
# importing functools for reduce()
import functools
  
# 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
# maximum sum sublist 
res = functools.reduce(lambda i, j: i if sum(i) > sum(j) 
      else j, test_matrix)
  
# printing result
print ("Maximum sum sublist is : " + str(res))
输出:
The original matrix is : [[1, 3, 1], [4, 5, 3], [1, 2, 4]]
Maximum sum sublist is : [4, 5, 3]

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

# Python3 code to demonstrate
# maximum sum sublist 
# using max() + key
  
# 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
# maximum sum sublist 
res = max(test_matrix, key = sum)
  
# printing result
print ("Maximum sum sublist is : " + str(res))
输出:
The original matrix is : [[1, 3, 1], [4, 5, 3], [1, 2, 4]]
Maximum sum sublist is : [4, 5, 3]