如何计算两个向量的某些部分的乘积

2024-09-29 04:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

如何计算两个向量的前三个元素的积和 ^python和tensorflow中的{}和B = [b1, b2, b3, b4, b5, b6] (i.e. [a1b1 + a2b2 + a3b3])


Tags: 元素tensorflow向量b2b1b3b4b5
3条回答
import tensorflow as tf

tf.multiply(A, B)

在python中,可以使用numpy

A = numpy.array(A)
B = numpy.array(B)
A*B

如果就这么简单,那么做:

sum([A[i]*B[i] for i in range(3)])

这将前三个值的乘积相加

希望这有帮助

使用内置的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)使用来自itertools模块的reduce函数:

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

相关问题 更多 >