繁体   English   中英

将列表列表与 Python 中的另一个列表列表相加

[英]Summing list of lists with another list of lists in Python

假设我有两个列表,a 和 b:

a = [[1,2,3],[4,5,6]]

b = [[7,8,9],[1,2,3]]

如果 a 和 b 都是数字列表,我可以将它们转换为 arrays 并使用 Python 获得总和 a+b。 但是,如果 a 和 b 是列表列表,我似乎无法做同样的事情。 有没有类似的方法,不使用 for 或 while cicles?

编辑所需的结果将是 [[8,10,12],[5,7,9]]

import numpy as np
a = [[1,2,3],[4,5,6]]

b = [[7,8,9],[1,2,3]]

a=np.array(a)
a=a.flatten()
b=np.array(b)
b=b.flatten()
c=np.add(a,b)
print(a)
print(b)
print(c)
output:
a=[1 2 3 4 5 6]
b=[7 8 9 1 2 3]
c=[ 8 10 12  5  7  9]

在此之后,如果您想要列表列表,您可以像这样重塑它:

c=np.reshape(c,[2,3])

列表压缩:

[[a + b for a, b in zip(x, y)]for x, y in zip(a, b)]

另一种方式:

k = []
for x, y in zip(a, b):
    p = []
    for a, b in zip(x, y):
        p.append(a + b)
    k.append(p)
print(k)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM