以下迭代如何改为函数式?

2017-03-08 15:55:03 +08:00
 zungmou

Python 代码

def parse(self, data):
    tmp = data
    # funcs is a callable function iterator
    for func in funcs:
        tmp = func(tmp)
    return tmp
2106 次点击
所在节点    Python
5 条回复
yeyuexia
2017-03-08 17:19:12 +08:00
reduce(lamda x, y: y(x), funcs, data)
staticor
2017-03-08 18:40:33 +08:00
递归实现 判断 funcs
eccstartup
2017-03-08 20:34:43 +08:00
funs = [(+1),(*2),(subtract 3)]
f = foldr (flip (.)) id funs
f 1
zungmou
2017-03-08 20:43:44 +08:00
@eccstartup 您这不是 Python 代码呀
zhzy0077
2017-03-08 21:13:51 +08:00
(fold-left (λ (tmp, func) (func tmp)) data funcs)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/345893

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX