Python:数组作为函数的参数

Python:数组作为函数的参数,python,arrays,function,input,arguments,Python,Arrays,Function,Input,Arguments,我想知道如何使用数组作为Python中的函数参数。我将展示一个简短的示例: def多项式(x,coeff_arr): 返回系数arr[0]+系数arr[1]+x+系数arr[2]*x**2 很明显,我得到了一个错误,即需要2个位置参数,但当我尝试运行它时,给出了4个位置参数,有人能告诉我如何在函数的参数中使用(coeff_arr[I])来实现这一点吗? 干杯您的问题缺少用于调用函数的代码,但从错误中我推断您将其称为polynom(x,coeficient1,coeficient2,coefic

我想知道如何使用数组作为Python中的函数参数。我将展示一个简短的示例:

def多项式(x,coeff_arr):
返回系数arr[0]+系数arr[1]+x+系数arr[2]*x**2

很明显,我得到了一个错误,即需要2个位置参数,但当我尝试运行它时,给出了4个位置参数,有人能告诉我如何在函数的参数中使用(coeff_arr[I])来实现这一点吗?
干杯

您的问题缺少用于调用函数的代码,但从错误中我推断您将其称为
polynom(x,coeficient1,coeficient2,coeficient3)
。相反,您需要将系数作为列表传递:

polynom(x, [coefficient1, coefficient2, coefficient3])
def polynom(x, *coeff_arr):
或者使用解包运算符
*
定义如下函数,该函数将获取
x
之后的所有位置参数,并将它们作为列表放入
coeff_arr
中:

polynom(x, [coefficient1, coefficient2, coefficient3])
def polynom(x, *coeff_arr):
(解包运算符也可用于函数调用,其作用与获取列表并将其元素作为位置参数传递相反:

polynom(x, *[coefficient1, coefficient2, coefficient3])
相当于

polynom(x, coefficient1, coefficient2, coefficient3)

)

用类似于:
polynom(1[2,3,4])的列表调用它。
或者将其更改为:
def polynom(x,*coeff_arr)
)“我显然得到了一个错误,即需要2个位置参数,但当我尝试运行它时,给出了4个位置参数”,这并不明显。请展示一下你是如何运行它的。非常感谢。我首先在数据上使用scipy的curve_fit()函数获得coeff_arr,然后使用多项式(x,coeff_arr)调用该函数。