【发布时间】:2019-03-01 22:11:46
【问题描述】:
我想创建一个<ufunc> 链接器,这是我使用functors.reduce 函数实现的。例如:
from functools import reduce
fns1 = [np.cos, np.sin, np.tan]
x = reduce( lambda f, f1: lambda m: f1(f(m)) , fns1, lambda m: m )
x(0.5)
虽然这很简单,但我想让代码更具可读性。于是我生成了一个迭代版本:
def fnLong(fnList):
curFn = lambda m: m
for f in fnList:
currF = lambda m: f(currF(m))
return currF
这个函数实际上创建了一个无限循环。我相信这两个功能应该完全相同,但显然不是。任何帮助将不胜感激!
【问题讨论】:
标签: python-3.x iterator