14

この Python コードは実際に 2 つのベクトルの内積を見つけますか?

import operator

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

2 に答える 2

48

はい、そうです。ここに別の方法があります

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

operatorもう1つはまったく使用しません

>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
于 2010-11-04T04:59:32.930 に答える
7

ネイティブコードで大規模な配列最適化を行うドット積のnumpy実装を使用して、計算をわずかに高速化することもできます。特にドット積ルーチンを記述したり、依存関係を回避したりしない限り、広く使用されているテスト済みのライブラリを使用する方が、独自のライブラリを作成するよりもはるかに優れています。

于 2010-11-04T05:48:39.337 に答える