我有一个阵列的形式
a = [[1, 0], [1, 1], [0, 0], [0, 1], [1, 0]]
Run Code Online (Sandbox Code Playgroud)
我需要在嵌套列表中对相同索引的所有值求和,以便上面得出
[3,2]
Run Code Online (Sandbox Code Playgroud)
这可以通过以下代码来实现
b = [0]*len(a[0])
for x in a:
b = map(sum, zip(b,x))
Run Code Online (Sandbox Code Playgroud)
由于a包含数百个列表,我想知道是否有更好的方法来做到这一点.这些嵌套列表在每个运行中总是具有相同的长度,在上面的示例2中,但它可能只是1或3或更多,因此初始化b为[0]*len(a[0]).
不同长度的示例如下:
# nested lists always have 3 items
a = [[1, 0, 1], [1, 1, 1], [0, 0, 1], [0, 1, 1], [1, 0, 0]]
# result: [3, 2, 4]
# nested lists always have 1 item
a = [[1], [1], [0], [0], [1]]
# result: [3]
# mixed lengths would never happen
a = [[1], [0,1], [0], [0,1,1]] # no, this not!
Run Code Online (Sandbox Code Playgroud)