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]