Python 类型错误:';发电机&x27;对象在计算向量的点积时不可调用
我是Python新手,尝试使用zip执行2个向量的点积Python 类型错误:';发电机&x27;对象在计算向量的点积时不可调用,python,vector,typeerror,dot-product,Python,Vector,Typeerror,Dot Product,我是Python新手,尝试使用zip执行2个向量的点积 from typing import List vector = List[float] def dot_prod(v:vector,w:vector) -> float: return sum(v_i*w_i for v_i,w_i in zip(v,w)) dot_prod([1,2,3],[4,5,6]) 我收到以下错误:TypeError:“生成器”对象不可调用 非常感谢您对解决此问题的任何
from typing import List
vector = List[float]
def dot_prod(v:vector,w:vector) -> float:
return sum(v_i*w_i for v_i,w_i in zip(v,w))
dot_prod([1,2,3],[4,5,6])
我收到以下错误:TypeError:“生成器”对象不可调用
非常感谢您对解决此问题的任何帮助…谢谢 您不需要手动操作,只需手动即可 首先,您需要安装numpy
pip3 install numpy # If you use python3
pip install numpy # If you use python2
conda install numpy # If you use anaconda
然后使用这个代码
import numpy as np
def dot_prod(x, y): # X,Y are the vectors
return np.dot(x, y)
要避免错误,请执行以下操作:
def dot_prod(x, y):
try:
return np.dot(x, y)
except ValueError:
return np.dot(x, np.array(y).T)
乍一看,我觉得还可以。Seconding@MateenUlhaq,它在我的机器上按预期运行(Python3.8)。代码似乎很好,并且运行在Python3.7.5上。您正在运行哪一版本的Python?是否重新定义了
sum
或zip
?所发布的代码可以对Python3进行干净的调用。谢谢大家。它必须与@TomKarzes问题联系起来。我启动了一个新的会话,可以毫无问题地执行。