<分区>
在 Python 中,如果我想使用显式函数式编程来总结一个列表,我可以这样做
>>> import operator
>>> reduce(operator.add, [3, -1, 2])
4
Mathematica 比 Python 更接近纯函数式语言,称它为 Fold 而不是 reduce,但结果是一样的。
In[1]:= Fold[Plus, {3, -1, 2}]
Out[1]= 4
所以现在,在 Mathematica 中,如果我想在迭代过程中的每一步都获得“折叠”的结果,我可以使用函数 FoldList。
In[2]:= FoldList[Plus, {3, -1, 2}]
Out[2]= {3, 2, 4}
如何在 Python 中获得这样的列表(或者最好是迭代器)?一般来说,这个函数操作有名字吗?