列表列表中子列表的最大总和

时间:2019-11-14 17:30:10

标签: python python-3.x python-requests

在Python中迈出第一步。 我有一个列表列表,我正在尝试返回具有所有子列表总和最大的子列表。 现在,我只拥有最大和。 例如:这段代码返回18,但我需要返回[3,3,3,3,3,3,3]

任何方向? 谢谢

def find_biggest(lst):
    inner_list_sum = []
    for i in range(len(lst)):
        inner_list_sum.append(sum(lst[i]))    # list of elements sums
    return max(inner_list_sum)                # I actually need the element itself...not the max sum

print(find_biggest([[1,2,3,4], [1,2,3,3], [1,1], [3,3,3,3,3,3]]))

3 个答案:

答案 0 :(得分:5)

maxkey=sum一起使用

例如:

data = [[1,2,3,4], [1,2,3,3], [1,1], [3,3,3,3,3,3]]
print(max(data, key=sum))

输出:

[3, 3, 3, 3, 3, 3]

答案 1 :(得分:0)

好 由于不允许使用(max(data,key = sum))。 我编写的代码不是很优雅,但是被接受了正确答案

def find_biggest(lst):
    inner_list_sum = []
    for i in range(len(lst)):
        inner_list_sum.append(sum(lst[i]))    # list of elements sums
        max_element=max(inner_list_sum)
        seq_index= inner_lis

答案 2 :(得分:0)

import functools

def find_biggest(lst):
    return functools.reduce(lambda x, y : x if sum(x) > sum(y) else y, lst)

在这里,使用的lambda表达式等效于查找最大和,而lstiterable

请注意:reduce将直接适用于python2,您需要导入functools
python3

Using functools.reduce

相关问题