FoldPairList

FoldPairList[f,y0,{a1,a2,}]

gives the list of successive xi obtained by applying f to pairs of the form {yi-1,ai}, where at each step f returns {xi,yi}.

FoldPairList[f,y0,list,g]

gives the list of successive values of g[{xi,yi}].

FoldPairList[f,{a0,a1,a2,}]

is equivalent to FoldPairList[f,a0,{a1,a2,}].

Details

  • The function f in FoldPairList[f,y0,list] always takes two arguments and is expected to return a pair {x,y} of expressions.
  • The expression expr in FoldPairList[f,y0,expr] can be any nonatomic expression, with any head.
  • FoldPairList[f,y0,list] is equivalent to FoldPairList[f,y0,list,First].
  • FoldPairList[f,y0,{a1,,an}] returns a list of length n.
  • You can use Throw to exit from FoldPairList before it is finished.

Examples

open allclose all

Basic Examples  (7)

In[1]:=
Click for copyable input
Out[1]=
In[1]:=
Click for copyable input
Out[1]=
In[1]:=
Click for copyable input
Out[1]=
In[1]:=
Click for copyable input
Out[1]=

Partition a list into sublists of different lengths:

In[1]:=
Click for copyable input
Out[1]=

Break an amount of money into bills of given values:

In[1]:=
Click for copyable input
Out[1]=

Return both the quotients and the remainders at each step:

In[1]:=
Click for copyable input
Out[1]=

Scope  (2)

Generalizations & Extensions  (1)

Applications  (1)

Properties & Relations  (2)

Possible Issues  (1)

See Also

FoldPair  FoldList  Fold  TakeDrop  QuotientRemainder

Introduced in 2015
(10.2)