python中的点积

时间:2010-11-04 04:54:11

标签: python dot-product

这个Python代码是否真的找到了两个向量的点积?

import operator

vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))

2 个答案:

答案 0 :(得分:48)

是的。这是另一种方式

>>> 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

答案 1 :(得分:7)

您还可以使用dot product的numpy实现,它在本机代码中具有大型数组优化,以使计算速度稍快一些。除非你专门尝试编写点产品例程或避免依赖,否则使用经过测试的广泛使用的库比使用自己的库更好。

相关问题