使用列表理解的嵌套列表中的元素总和

Sum of elements in nested list using a list comprehensions

我正在尝试计算每个嵌套列表中正元素的总和。

    data = [[10, 6, -1, 2, -4, 3, -10, -3, -2, 4],
    [0, -3, -9, -1, 2, 6, -5, 8, -7, 0],
    [-2, -10, -2, -7, 8, 0, 1, 0, 8, -5]]

    sum_l = 0
    sum_list : list = list()
    sum_list = [[(sum_l+=y) for y in x] for x in data if y > 0]

我是这样写的,但是报错:invalid syntax in (sum_l+=y)。我该如何解决它,以及如何正确使用列表理解?

谢谢!

使用sum对内部列表求和:

data = [[10, 6, -1, 2, -4, 3, -10, -3, -2, 4],
        [0, -3, -9, -1, 2, 6, -5, 8, -7, 0],
        [-2, -10, -2, -7, 8, 0, 1, 0, 8, -5]]

result = [sum(e for e in lst if e > 0) for lst in data]
print(result)

输出

[25, 16, 17]

资源: