例如,我有以下两个数组:
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)
但是不确定如何添加产品。
谢谢您的建议!
答案 0 :(得分:2)
那为什么不呢?
[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]
答案 1 :(得分:1)
[sum(i*j for j in b) for i in a]
#[12, 36, 60, 84, 108]
答案 2 :(得分:1)
您的意思是将a中的每个元素与sum(b)相乘吗?这段代码将为您完成。
a = [1,3,5,7,9]
b = [2,4,6]
b_sum = sum(b)
ab = [x * b_sum for x in a]
答案 3 :(得分:0)
强制的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])