gpt4 book ai didi

python - 在python中添加多个数组

转载 作者:太空狗 更新时间:2023-10-30 00:27:59 25 4
gpt4 key购买 nike

我有许多数组,我希望使用加法将其广播到一个数组中,我知道可以这样简单地完成:

a = numpy.array([1,2,3])
b = numpy.array9[4,5,6])
sum = a + b
print(sum)

[5,7,9]

但是,我不能像在这个简单示例中那样对其进行硬编码,因为我将使用不同数量的输入多次运行我的脚本,因此每次都会有不同数量的数组。有时,我可能有 a 和 b,但有时我可能有 a、c 和 d,但没有 b 等。

因此,我使用循环将我拥有的数组附加到列表中,这样我最终得到如下内容:

newlist = [array([1,2,3,...5,4,3]), 
array([5,7,2,...4,6,7]),
array([3,6,2,...4,5,9])]

从“newlist”中的数组中获取单个数组的最 pythonic 方法是在其中添加数组,这样(来自 newlist):

sum = [8,15,7,...14,15,19]

数组的形状都是一样的。

最佳答案

坚持使用 Numpy 数组并使用它的 sum()方法:

>>> arr = np.array([[1,2,3,5,4,3], 
[5,7,2,4,6,7],
[3,6,2,4,5,9]])
>>> arr.sum(axis=0)
array([ 9, 15, 7, 13, 15, 19])

当然你也可以用 Python 列表来做,但它会很慢:

>>> lst = [[1,2,3,5,4,3], 
[5,7,2,4,6,7],
[3,6,2,4,5,9]]
>>> map(sum, zip(*lst))
[9, 15, 7, 13, 15, 19]

关于python - 在python中添加多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279903/

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