Python 如何对嵌套列表中的元素求和?

Python 如何对嵌套列表中的元素求和?,python,sum,nested-lists,Python,Sum,Nested Lists,所以,我有一个类似这样的列表 [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]], [[13, 14], [15, 16], [17, 18]], [[19, 20], [21, 22], [23, 24]]] [[3, 7, 11], [15, 19, 23], [27, 31, 35], [39, 43, 27]] 我希望它看起来像这样 [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9,

所以,我有一个类似这样的列表

[[[1, 2], [3, 4], [5, 6]],
 [[7, 8], [9, 10], [11, 12]],
 [[13, 14], [15, 16], [17, 18]],
 [[19, 20], [21, 22], [23, 24]]]
[[3, 7, 11],
 [15, 19, 23],
 [27, 31, 35],
 [39, 43, 27]]
我希望它看起来像这样

[[[1, 2], [3, 4], [5, 6]],
 [[7, 8], [9, 10], [11, 12]],
 [[13, 14], [15, 16], [17, 18]],
 [[19, 20], [21, 22], [23, 24]]]
[[3, 7, 11],
 [15, 19, 23],
 [27, 31, 35],
 [39, 43, 27]]
也就是说,
3=sum([1,2]),7=sum([3,4]),…


我尝试过为循环嵌套,但没有找到任何可以达到预期效果的东西,有人知道我如何做到这一点吗?

这将非常好地完成这项工作,imo比列表理解更具可读性

lists = [[[1, 2], [3, 4], [5, 6]],
        [[7, 8], [9, 10], [11, 12]],
        [[13, 14], [15, 16], [17, 18]],
        [[19, 20], [21, 22], [23, 24]]]

new_lists = []
for nested in lists:
    new_ls = []
    for ls in nested:
        new_ls.append(sum(ls))
    new_lists.append(new_ls)


>>> new_lists
[[3, 7, 11], [15, 19, 23], [27, 31, 35], [39, 43, 47]]

如果您愿意使用第三方库,可以使用NumPy和沿单个维度求和:

import numpy as np

A = np.array([[[1, 2], [3, 4], [5, 6]],
              [[7, 8], [9, 10], [11, 12]],
              [[13, 14], [15, 16], [17, 18]],
              [[19, 20], [21, 22], [23, 24]]])

res = A.sum(2)
结果:

array([[ 3,  7, 11],
       [15, 19, 23],
       [27, 31, 35],
       [39, 43, 47]])

另请参见:

您也可以使用列表理解:

[[sum(x) for x in triple] for triple in lists]
在上面的列表理解中,triple将是您的三个Double列表,因此第一个for循环将涵盖这些。然后,x将是三元组中的每个双元组列表,因此我们对其求和,同时使用以下括号将其保留在原始三元组中:

[sum(x) for x in triple]
输出:

[[3, 7, 11], [15, 19, 23], [27, 31, 35], [39, 43, 47]]

请展示您对嵌套循环的尝试,以便我们解释为什么它没有给出预期的输出