我认为作者想要的是某种形式的功能链。通常,这很困难,但是对于
- 接受一个论点
- 返回一个值,
- 列表中上一个函数的返回值与列表中下一个函数的输入类型具有相同的返回值
我们说有一个需要链接的函数列表,其中有一个参数,然后返回一个参数。而且,类型是一致的。像这样的东西…
functions = [np.sin, np.cos, np.abs]
是否可以编写将所有这些链接在一起的 通用
函数?好吧,
reduce尽管我们可以使用Guido,但它并不特别喜欢
map,
reduce实现,并打算将其淘汰…
像这样的东西…
>>> reduce(lambda m, n: n(m), functions, 3)0.99005908575986534
现在我们如何创建执行此 *** 作的功能?好吧,只需创建一个需要一个值并返回一个函数的函数:
import numpy as npdef chainFunctions(functions): def innerFunction(y): return reduce(lambda m, n: n(m), functions, y) return innerFunctionif __name__ == '__main__': functions = [np.sin, np.cos, np.abs] ch = chainFunctions( functions ) print ch(3)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)