在Python,如果我想用明確的函數式編程總結列表,我可以做如何在Python中的每一步獲得「減少」的結果?
>>> import operator
>>> reduce(operator.add, [3, -1, 2])
4
數學,更接近比Python純函數式語言,稱之爲Fold代替減少,但結果是一樣的。
In[1]:= Fold[Plus, {3, -1, 2}]
Out[1]= 4
所以,現在,在數學,如果我想獲得的「摺疊」在迭代過程中每一步的結果,我可以使用的功能FoldList。
In[2]:= FoldList[Plus, {3, -1, 2}]
Out[2]= {3, 2, 4}
如何在Python中獲得這樣的列表(或最好是迭代器)?一般來說,這個功能操作是否有名字?
子程序通常被稱爲'scan',數學運算稱爲*前綴和*。 –
@gnat而不是downvoting我的帖子,如果你是一個模,可你只需動的問題到右側板?我的問題很好,我的回答是正確的。我似乎總是選錯了StackExchange。 – sffc
幾年前,我想移動的問題,從我認爲堆棧溢出到服務器故障通過重新張貼,但MODS的告訴我,我不應該這樣做,我應該要求他們移動問題反而。 – sffc