有没有办法按索引对多个列表求和,以获得最终列表?知道这些列表的长度可能不一样吗?例如,使用这些
[2,4,0,0], [0,0,2], [0,4]
我想
[2,8,2,0]
结果。
到目前为止我还没有找到任何结果。
答案 0 :(得分:9)
您可以itertools.zip_longest
使用fillvalue
参数设置为0
。如果您在列表推导中使用它,您可以解压缩并压缩内部列表并以元素方式添加它们。
>>> from itertools import zip_longest
>>> [sum(i) for i in zip_longest(*l, fillvalue=0)]
[2, 8, 2, 0]