如何计算两个向量的前三个元素的乘积和
在python和tensorflow中A = [a1, a2, a3, a4, a5, a6]
和B = [b1, b2, b3, b4, b5, b6] (i.e. [a1b1 + a2b2 + a3b3])
。
答案 0 :(得分:0)
如果只是那么简单:
sum([A[i]*B[i] for i in range(3)])
这将前三个值的乘积相加。
希望这有帮助!
答案 1 :(得分:0)
import tensorflow as tf
tf.multiply(A, B)
在python中你可以使用numpy
A = numpy.array(A)
B = numpy.array(B)
A*B
答案 2 :(得分:0)
使用内置的Python模块和函数,有很多方法可以做到。
以下列表:
A = [1,2,3,4,5]
B = [4,5,6,7,8]
您可以使用zip
函数从两个列表中创建元素对:
prod = list(zip(A,B))
print(prod)
输出:
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
从那里你可以通过以下方式实现:
1)使用列表理解:
res = sum(a*b for a,b in prod[:3])
print(res)
输出:
32
2)使用map
功能:
res = sum(map(lambda i: i[0]*i[1], prod[:3]))
print(res)
输出:
32
3)使用reduce
模块中的itertools
函数:
from functools import reduce #Need to import only if you're using Python 3
import operator
res = sum(reduce(operator.mul, data) for data in prod[:3])
print(res)
输出:
32