質問
この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
所属していません StackOverflow