这个Python代码实际上是否找到了两个向量的点产品?

import operator

vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
有帮助吗?

解决方案

您也可以使用Numpy实现 点产品 在本机代码中具有较大的数组优化,以使计算略快。除非您专门尝试编写DOT产品例程或避免依赖关系,否则使用经过久经考验的经过测试的库比自己滚动要好得多。

其他提示

是的,它确实。这是另一种方式

>>> sum(map( operator.mul, vector1, vector2))
48

还有一个不使用的 operator 根本

>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top