Python 为什么函数的返回数组是输入列表的两倍大?

Python 为什么函数的返回数组是输入列表的两倍大?,python,numpy,scipy,Python,Numpy,Scipy,我用python创建了一个简单的函数: def func(a,x): return a+x*2 然后我叫它 x = [log(1),log(2),log(4),log(5),log(8)] #Import y data from a file free= curve_fit(func,np.array(x),np.array(y))[0][0] yline = func(free,x) 生成的yline长度是x的两倍,并且每个元素在其中包含两次 为什么会这样 注意: 我正在导入numpy

我用python创建了一个简单的函数:

def func(a,x):
  return a+x*2
然后我叫它

x = [log(1),log(2),log(4),log(5),log(8)]
#Import y data from a file
free= curve_fit(func,np.array(x),np.array(y))[0][0]
yline = func(free,x)
生成的
yline
长度是
x
的两倍,并且每个元素在其中包含两次

为什么会这样

注意:
我正在导入numpy,但不是scipy或curve_fit

x
是一个列表,在
func
中,它将“乘以2”(即其元素数加倍)

如果要将其乘以2(即,将每个元素相乘),请首先将其转换为
np.array

x = [log(1),log(2),log(4),log(5),log(8)]
#Import y data from a file
free= curve_fit(func,np.array(x),np.array(y))[0][0]
yline = func(free, np.array(x))

x
是一个列表,在
func
中,它将“乘以2”(即其元素数加倍)

如果要将其乘以2(即,将每个元素相乘),请首先将其转换为
np.array

x = [log(1),log(2),log(4),log(5),log(8)]
#Import y data from a file
free= curve_fit(func,np.array(x),np.array(y))[0][0]
yline = func(free, np.array(x))