Nest , Fold ... is there an extension for more than 2 arguments?
Yes, there is. Group your extra arguments in a list, and address them by their positions in the function under Fold
. For your particular example:
FoldList[#1 (1 + First@#2) - Last@#2 &, 1000, Transpose@{{.01, .02, .03}, {100, 200, 300}}]
(* {1000, 910., 728.2, 450.046} *)
To achieve the specific syntax you requested we can use something like this:
multiFoldList[f_, start_, args__List] :=
FoldList[f @@ Prepend[#2, #] &, start, {args}\[Transpose]]
Example:
multiFoldList[#1 (1 + #2) - #3 &, 1000, {.01, .02, .03}, {100, 200, 300}]
{1000, 910., 728.2, 450.046}
Here is another formulation which tests slightly faster and may be easier to read:
multiFoldList[f_, start_, args__List] :=
Module[{ff},
ff[x_, {y__}] := f[x, y];
FoldList[ff, start, {args}\[Transpose]]
]