在python函数中传递和使用动力学参数

我确实有一个接收列表和一些参数的函数,稍后该函数根据参数和提供的列表创建一个线性方程。

def modelFunction(data,a,b,c,offset):
    f = (data[0] * a) + (data[1] * b) + (data[2] * c) + offset
    return f

我想动态创建参数,也动态创建线性方程。 最终目标应该是每次调用它时都可以使用不同数量的参数创建一个不同的函数。 例: 如果我需要创建一个带有2个参数的线性方程并且被截距,那么它将创建一个函数,如:

数据是len = 2的列表

def modelFunction(data,offset):
    f = (data[0] * a) + (data[1] * b) + offset
    return f

如果我需要创建一个带有3个参数的线性方程并且被截距,那么它将创建一个函数,如:

数据是len = 3的列表

def modelFunction(data,offset):
    f = (data[0] * a) + (data[1] * b) + (data[2] * c) + offset
    return f

我相信*运算符可能会对我有所帮助,但未能弄清楚

huminyan 回答:在python函数中传递和使用动力学参数

为简洁起见,省略了等长检查:

def modelFunction(data,*coeffs):
    return sum(d * c for d,c in zip(data,coeffs)) + coeffs[-1]
本文链接:https://www.f2er.com/3156109.html

大家都在问