高阶函数将许多函数应用于一个参数

时间:2013-02-07 18:12:54

标签: higher-order-functions

我想要一个更高阶函数的通用名称,它将函数列表应用到单个参数中。

从这个意义上讲,它与地图相反。 map接受一个函数和一个参数列表,并将该函数应用于整个列表。在Python中它可能看起来像这样

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

我正在考虑执行相同功能的函数,但将备用参数作为列表类型

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

我怀疑这个功能存在且有一个共同的名称。它是什么?

1 个答案:

答案 0 :(得分: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)

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