Python 如何编写一个函数,接受两个列表作为输入并返回它们的点积
我还在学习Maya Python脚本的基础知识,我很难赶上。事实上,我真的不明白点积是如何工作的。所以我很难理解“接受两个列表作为输入并返回它们的点积的函数”是什么意思。有人能帮我吗Python 如何编写一个函数,接受两个列表作为输入并返回它们的点积,python,dot-product,Python,Dot Product,我还在学习Maya Python脚本的基础知识,我很难赶上。事实上,我真的不明白点积是如何工作的。所以我很难理解“接受两个列表作为输入并返回它们的点积的函数”是什么意思。有人能帮我吗 def dot(l1, l2): return sum(x*y for x,y in zip(l1,l2)) 或者使用numpy,但输出是一个numpy数组 import numpy as np result = np.dot(numpy.array(l1), numpy.array(l2)) 事实上,
def dot(l1, l2):
return sum(x*y for x,y in zip(l1,l2))
或者使用numpy
,但输出是一个numpy数组
import numpy as np
result = np.dot(numpy.array(l1), numpy.array(l2))
事实上,我真的不明白点积是如何工作的
给定两个向量a=(a_1,a_2,…,a_n)
和b=(b_1,b_2,…,b_n)
,点积为和a_1b_1+a_2b_2+a_nb_n
在Python中:
def dot(a, b):
if len(a) != len(b):
raise ValueError("a and b have differing sizes")
sum = 0
for i in range(len(a)):
sum += a[i] * b[i]
return sum
然后,您应该研究什么是点积。从模块的文档中可以看出:“例如,乘法运算符可以映射到两个向量上以形成有效的点积:
sum(map(operator.mul,vector1,vector2))
”。