在python函数中传递并使用数学参数

问题描述 投票:-2回答:1

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

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, a, b,offset):
    f = (data[0] * a) + (data[1] * b) + offset
    return f

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

数据是len = 3的列表

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

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

python parameters arguments wrapper
1个回答
0
投票

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

def modelFunction(data, *coeffs):
    return sum(d * c for d, c in zip(data, coeffs)) + coeffs[-1]
© www.soinside.com 2019 - 2024. All rights reserved.