gpt4 book ai didi

python - 在 Python 中,如何对嵌套的整数列表 : [[1, 0]、[1,1]、[1,0]] → [3,1] 进行数值求和

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:39 25 4
gpt4 key购买 nike

我有一个形式为

的数组
a = [[1, 0], [1, 1], [0, 0], [0, 1], [1, 0]]

我需要对嵌套列表中相同索引的所有值求和,以便上面的结果

[3,2]

这可以通过以下代码实现

b = [0]*len(a[0])
for x in a:
b = map(sum, zip(b,x))

由于 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!

最佳答案

您可以简单地转置您的初始矩阵并对每一行求和:

b = [sum(e) for e in zip(*a)]

关于python - 在 Python 中,如何对嵌套的整数列表 : [[1, 0]、[1,1]、[1,0]] → [3,1] 进行数值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35377466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com