我尝试编写一个func_apply(func_name, **kwargs)
接收func_name
列表中的和参数值的函数,然后将参数一一应用于func_name
,收集结果并作为列表返回。我需要这个高阶函数func_apply
主要是为了抽象语法,因为我的应用程序经常需要将不同的参数值应用于各种函数并批量收集结果。
def my_minus(x,y):
return x-y
def my_divd(a,b):
return a/b
def func_apply(func_name, **kwargs):
'''apply the parameter in kwargs one by one to func_name,
collect and return result in a list.
for example:
func_apply(my_minus, x=[2, 4, 5, 7], y=[1, 4, 3, 9]) will return [1,0,2,-2],
func_apply(my_divd, a=[2, 4, 5, 7], b=[1, 4, 3, 9]) will return [2,1,1.66,0.77]
'''
# the codes
那么,怎么写func_apply
呢?