我在python中寻找一个高阶函数,它接受一个函数作为参数和一系列相应的参数,并调用参数列表中的函数。比如:
def exec(func,paramlist):
return CALL(func,paramlist)
paramlist长度未确定,因为它与传入的每个func一起使用。调用应该能够提取列表中的元素,并将每个参数放入正确的槽中,然后进行函数调用。你知道吗
作为参考,在Q language中有一个处理泛型函数调用的“apply”函数:
f1: {x}
f2: {x+y}
execFunction: {[fun;param] .[fun;param] }
execFunction[f1;enlist 1] // result is 1
execFunction[f2;(1 2)] // result is 3
Python过去有一个
apply
函数,但是在python3中它被删除了,因为使用*运算符将列表解压成单个参数非常容易。实际上apply
函数可以这样编写:当然,这非常简单,您不必为它编写函数;只要在需要的地方编写
func(*paramlist)
。你知道吗如果
func
需要多个参数,而paramlist
是一个参数列表,则如下所示:相关问题 更多 >
编程相关推荐