منتج DOT في Python [مغلق
-
28-09-2019 - |
سؤال
هل يجد رمز Python هذا بالفعل منتج 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
وآخر لا يستخدم operator
على الاطلاق
>>> vector1 = (2,3,5)
>>> vector2 = (3,4,6)
>>> sum(p*q for p,q in zip(vector1, vector2))
48
لا تنتمي إلى StackOverflow