Вы также можете использовать реализацию numpy dot product, которая имеет большие оптимизации массивов в собственном коде, чтобы сделать вычисления немного быстрее. Еще лучше, если вы специально не пытаетесь написать программу точечного продукта или избегать зависимостей, использование проверенной широко используемой библиотеки намного лучше, чем сворачивание собственных.
Ответ 2
Да, да. Вот еще один способ
>>> 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