我的列表仅包含整数,如 [1,2,3]
和[4,5,6]
。有时我什至有 [7,8,9]
或更多列表。如何将每个元素添加在一起以形成相同长度的新列表?
[1,2,3] + [4,5,6] + [7,8,9] = [12,15,18]
我知道上面只会追加元素并创建一个更长的列表(包含 9 个元素),但我想按元素添加列表。
最佳答案
您可以将列表放入列表中,使用 *
运算符解压后zip
子列表,然后映射
求和
到列表:
l = [[1,2,3], [4,5,6], [7,8,9]]
print(list(map(sum, zip(*l))))
输出:
[12, 15, 18]
编辑:以上内容适用于 Python 3.x。如果您使用的是早期版本,则可以使用 itertools.izip
而不是 zip
,并且不需要调用 list
构造函数:
import itertools
l = [[1,2,3], [4,5,6], [7,8,9]]
print map(sum, itertools.izip(*l))
关于python - 如何通过添加每个元素来组合两个或多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52287468/