Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python—如何从一个数组值乘以另一个数组的所有值来创建乘积和的新数组_Python_Arrays_Python 3.x_List - Fatal编程技术网

Python—如何从一个数组值乘以另一个数组的所有值来创建乘积和的新数组

Python—如何从一个数组值乘以另一个数组的所有值来创建乘积和的新数组,python,arrays,python-3.x,list,Python,Arrays,Python 3.x,List,例如,我有两个数组: a=[1,3,5,7,9] b=[2,4,6] 我想把数组a的每个值乘以数组b的每个值的乘积加起来。最终产生一个新的数组,看起来像 [12,36,60,84,108] 我知道: a = [1,3,5,7,9] b = [2,4,6] ab = [] for i in range(len(a)): for j in range(len(b)): ab.append(a[i]*b[j]) print(ab) 但

例如,我有两个数组:

a=[1,3,5,7,9] b=[2,4,6]

我想把数组a的每个值乘以数组b的每个值的乘积加起来。最终产生一个新的数组,看起来像

[12,36,60,84,108]

我知道:

a = [1,3,5,7,9]
b = [2,4,6]
ab = []                     
for i in range(len(a)):
    for j in range(len(b)):
        ab.append(a[i]*b[j])
print(ab)
但不确定如何添加产品


谢谢你的建议

您的意思是将a中的每个元素与总和(b)相乘吗?此代码将为您完成此操作

[sum(i*j for j in b) for i in a]
#[12, 36, 60, 84, 108]
a = [1,3,5,7,9]
b = [2,4,6]
b_sum = sum(b)
ab = [x * b_sum for x in a]
那么,为什么不这样做呢:

[i*sum(b) for i in a]
演示:

a = [1,3,5,7,9]
b = [2,4,6]
print([i*sum(b) for i in a])
输出:

[12, 36, 60, 84, 108]

强制性numpy解决方案

import numpy as np
a = np.array([1,3,5,7,9])
b = np.array([2,4,6])
np.sum(a[:,None]*b[None,:], axis=1)
输出

array([ 12,  36,  60,  84, 108])

[求和(i*j表示b中的j)表示a中的i]你的意思是用
a
中的每个元素乘以
sum(b)
?啊哈,
a*x+a*y+a*z=a*(x+y+z)
@是的,:-)