Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何编写一个函数,接受两个列表作为输入并返回它们的点积_Python_Dot Product - Fatal编程技术网

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)) 事实上,

我还在学习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))
事实上,我真的不明白点积是如何工作的

给定两个向量
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))
”。