2024-06-01 00:07:20 发布
网友
我有一个接受向量输入的函数
f(x) = x[0]*x[1]
我想要一个接受这个函数并创建一个新函数的函数:
g(x,y) = x*y fcn_translator(f) # intelligent code here return g
有人知道怎么做吗?以前也这样做过。这个问题的原因是我有一个python包,它优化了f(x,y…)形式的函数,但是我调用的函数作用于向量
看起来您需要一个函数,它接受两个参数,将它们组合成一个向量,并调用f:
f
def g1(x, y): return f([x, y])
作为更一般的解决方案,函数g2接受任意数量的参数,将它们组合成一个向量,并调用f:
g2
def g2(*x): return f(x)
最后,由于向量的前两个元素是f所必需的,因此该函数至少采用两个参数:
def g3(x, y, *rest): return f((x, y) + rest)
看起来您需要一个函数,它接受两个参数,将它们组合成一个向量,并调用
f
:作为更一般的解决方案,函数
g2
接受任意数量的参数,将它们组合成一个向量,并调用f
:最后,由于向量的前两个元素是
f
所必需的,因此该函数至少采用两个参数:相关问题 更多 >
编程相关推荐