我确实有一个接收列表和一些参数的函数,此函数稍后会根据所提供的参数和列表创建一个线性方程。
def modelFunction(data, a, b, c, offset):
f = (data[0] * a) + (data[1] * b) + (data[2] * c) + offset
return f
我想动态创建参数,也动态创建线性方程。最终目标应该是每次调用它时都可以使用不同数量的参数创建一个不同的函数。例:如果我需要创建一个带有2个参数的线性方程并且被截距,那么它将创建一个函数,如:
def modelFunction(data, a, b,offset):
f = (data[0] * a) + (data[1] * b) + offset
return f
如果我需要创建一个带有3个参数的线性方程,并且它被截取,那么它将创建一个像这样的函数:
def modelFunction(data, a, b, c, offset):
f = (data[0] * a) + (data[1] * b) + (data[2] * c) + offset
return f
我相信*运算符可能会对我有所帮助,但无法弄清楚
为简洁起见,省略了等长检查:
def modelFunction(data, *coeffs):
return sum(d * c for d, c in zip(data, coeffs)) + coeffs[-1]