【发布时间】:2017-11-16 06:36:05
【问题描述】:
如果我使用导入 toolz
from toolz.curried import *
那么map会自动变成柯里化形式,所以
map(func,[[1,2],[3,4]])
可以写成
map(func)([[1,2],[3,4]])
但是 curried map 总是返回一个可迭代对象。我定义了一个总是返回列表的咖喱lmap。不过简单试试
lmap=compose(list,map)
不会工作,例如
lmap(len)([[1,2],[3,4]])
会给
----------------------------------- ----------------------------
TypeError Traceback(最近调用 最后)在() ----> 1 lmap(len)([[1,2],[3,4]])C:\ProgramData\Anaconda3\lib\site-packages\toolz\functoolz.py in
call(self, *args, **kwargs)
466 ret = self.first(*args, **kwargs)
467 for f in self.funcs:
--> 468 ret = f(ret)
第469话
470TypeError: 'curry' 对象不可迭代
那么如何定义一个柯里化的lmap?
【问题讨论】: