Pythonで実装してみました。 404 Blog Not Found:Code Snippets - reduce(l|r)を実装汁! 解答は下のようになります。 >>> reducel = reduce >>> reducer = lambda f, xs: reduce(lambda y, x: f(x, y), reversed(xs)) 動作を確認してみましょう。 >>> concat = lambda x, y: "(%s#%s)" % (x, y) >>> reducer(concat, range(1, 5)) '(1#(2#(3#4)))' >>> reducel(concat, range(1, 5)) '(((1#2)#3)#4)' 解説は後で書きます。 = ちなみにHaskellでは、まともに書くと下のようになってとても悲しいです。 reducer = foldr1