On 24/10/2016 06:11, Danilo J. S. Bellini wrote:
 For example, a product:

>>> [prev * k for k in [5, 2, 4, 3] from prev = 1]
[1, 5, 10, 40, 120]


That makes sense for me, and seem simpler than:

>>> from itertools import accumulate, chain
>>> list(accumulate(chain([1], [5, 2, 4, 3]), lambda prev, k: prev * k))
[1, 5, 10, 40, 120]


Well, if you want an instant reaction from someone skimming this thread: I looked at the first example and couldn't understand it.  Then I looked at the second one, and could understand it (even though I may never have used "chain" or heard of "accumulate").  Obviously your mileage varies.
Best wishes,
Rob Cliffe