prodotto punto in Python [chiuso]
-
28-09-2019 - |
Domanda
Questo codice Python trova effettivamente il prodotto scalare di due vettori?
import operator
vector1 = (2,3,5)
vector2 = (3,4,6)
dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2))
Soluzione
Puoi anche utilizzare l'implementazione numpy di prodotto scalare che dispone di ampie ottimizzazioni di array nel codice nativo per rendere i calcoli leggermente più veloci.Ancora meglio, a meno che tu non stia cercando specificamente di scrivere una routine di prodotto scalare o di evitare dipendenze, utilizzare una libreria ampiamente utilizzata e provata è molto meglio che crearne una tua.
Altri suggerimenti
Sì lo fa. Ecco un altro modo
>>> sum(map( operator.mul, vector1, vector2))
48
e un altro che non fa uso di operator
a tutti
>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow