2013-02-07 31 views
0

我想要将函数列表应用于单个参数的高阶函数的公共名称。将多个函数应用于一个参数的高阶函数

从这个意义上讲,它是一个映射的逆向。 map接受函数和参数列表并将该函数应用于整个列表。在Python它可能看起来像这样

map = lambda fn, args: [fn(arg) for arg in args] 

我想,做同样的,但有替代参数作为一个列表类型

??? = lambda fns, arg: [fn(arg) for fn in fns] 

我怀疑这个函数存在且具有功能的通用名称。它是什么?

回答

0

实际上,你所描述的不是map的逆反,而是map以另一种方式应用。考虑,例如,

map(lambda f: f(2), [lambda x: x + 1, lambda x: x, lambda x: x * x]) 

这实际上适用三个功能(加1,身份,和平方)的说法2。所以你想要的只是

alt_map = lambda x, fns: map(lambda f: f(x), fns) 

这仍然是一个普通的地图。