使用结果将方法应用于所有方法

Joo*_*ost 0 python functional-programming

当涉及函数式语言时,我想起了一种在对象列表上调用方法的方法,其中下一个方法调用使用前一个调用的结果作为输入以及下一个列表项.

在Python中,以下代码使用for循环执行相同的操作(在此实例中,它基于整数列表构建二叉树).假设binary_insert将树和整数作为参数.

t = None
for x in [4, 2, 1, 5, 6, 3, 7, 9, 8, 12, 10, 11, 13, 15, 14]:
    t = binary_insert(t, x)
print t
Run Code Online (Sandbox Code Playgroud)

基本上我试图记住那种功能应用程序的名称.如果有一个Python等价物,那就太棒了.

Dan*_*man 6

我想你正在寻找reduce():

reduce(function,sequence [,initial]) - > value

从左到右累加两个参数的函数到序列的项目,以便将序列减少为单个值.例如,reduce(lambda x,y:x + y,[1,2,3,4,5])计算(((((1 + 2)+3)+4)+5).如果存在initial,则将其放在计算中序列的项之前,并在序列为空时用作默认值.