質問

このPythonコードは、実際に2つのベクトルのDOT製品を見つけますか?

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

そして、使用しないもう1つ 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