python 将向量输入函数转换为多输入
python convert vector input function to multiinput
我有一个接受向量输入的函数,例如
f(x) = x[0]*x[1]
我想要一个接受这个函数并创建一个新函数的函数:
g(x,y) = x*y
fcn_translator(f)
# intelligent code here
return g
有人知道怎么做吗?以前有没有这样做过。这个问题的原因是我有一个 python 包优化了 f(x,y...) 形式的函数,但我调用的函数作用于向量。
看起来您想要一个带有两个参数的函数,将它们组合成一个向量,然后调用 f
:
def g1(x, y):
return f([x, y])
作为更通用的解决方案,函数 g2
接受任意数量的参数,将它们组合成一个向量,然后调用 f
:
def g2(*x):
return f(x)
最后,由于 f
需要向量的前两个元素,因此此函数需要 至少两个 参数:
def g3(x, y, *rest):
return f((x, y) + rest)
我有一个接受向量输入的函数,例如
f(x) = x[0]*x[1]
我想要一个接受这个函数并创建一个新函数的函数:
g(x,y) = x*y
fcn_translator(f)
# intelligent code here
return g
有人知道怎么做吗?以前有没有这样做过。这个问题的原因是我有一个 python 包优化了 f(x,y...) 形式的函数,但我调用的函数作用于向量。
看起来您想要一个带有两个参数的函数,将它们组合成一个向量,然后调用 f
:
def g1(x, y):
return f([x, y])
作为更通用的解决方案,函数 g2
接受任意数量的参数,将它们组合成一个向量,然后调用 f
:
def g2(*x):
return f(x)
最后,由于 f
需要向量的前两个元素,因此此函数需要 至少两个 参数:
def g3(x, y, *rest):
return f((x, y) + rest)