Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将方法应用于所有方法,使用结果_Python_Functional Programming - Fatal编程技术网

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

Python 将方法应用于所有方法,使用结果,python,functional-programming,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 基本上,我试图记

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

在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

基本上,我试图记住这种函数应用程序的名称。如果有一个与Python相当的版本,那就太棒了。

我想您正在寻找:

减少(函数,序列[,初始])->值

将两个参数的函数累计应用于序列项, 从左到右,以便将序列减少为单个值。 例如,reduce(lambda x,y:x+y[1,2,3,4,5])计算 ((((1+2)+3)+4)+5). 如果存在首字母,则将其置于项目之前 计算中的序列,并在 序列为空


我想你在寻找:

减少(函数,序列[,初始])->值

将两个参数的函数累计应用于序列项, 从左到右,以便将序列减少为单个值。 例如,reduce(lambda x,y:x+y[1,2,3,4,5])计算 ((((1+2)+3)+4)+5). 如果存在首字母,则将其置于项目之前 计算中的序列,并在 序列为空


在函数式语言中,它通常被称为
fold
。你说得对,我就是这么知道它的。谢谢我认为在python中它被称为
reduce
。在函数式语言中它通常被称为
fold
。你说得对——我就是这么知道它的。谢谢我认为在python中它被称为
reduce
。请注意,在python3中,它在全局名称空间中不可用。您必须从
functools
导入它。请注意,在python3中,它在全局命名空间中不可用。您必须从
functools
导入它。