假设我有一个函数
def f(x,y):
return x+y我想创建一个函数,它返回一个传递了特定变量的函数:
def G(f,n,q): #a function in which the n-th variable of function f is passed the value q
return ??问题是:我应该如何定义G
例如,G(f,0,1)应返回函数f,其中向变量0传递的值为1。换句话说,G(f,0,1)的行为应该像g一样,我的定义是
def g(x):
return f(1,x)发布于 2017-03-11 18:08:51
在这种情况下,您可以构造一个构造函数的函数。像这样:
def G(f,n,q):
def h(*args):
ls = list(args)
ls.insert(n,q)
return f(*ls)
return h因此,您构造了一个以任意数量的元素*args作为输入的函数h。然后将其转换为list(..),这样就可以更改列表。接下来,将给定的参数q作为索引n插入到列表中,并将带有星号的列表传递给给定的函数f。
https://stackoverflow.com/questions/42733803
复制相似问题