Example | Sololearn: Learn to code for FREE!

+2

Example

why is that works so: nums = list(accumulate(range(8))) ?

10/2/2016 12:10:17 PM

Николай Чернов

1 Answer

New Answer

+6

It helps to do things in the python shell, one at a time. Extra steps are here for hints: >>> from itertools import accumulate >>> list(accumulate(range(8))) [0, 1, 3, 6, 10, 15, 21, 28] >>> print(range(8)) range(0, 8) >>> list(range(8)) [0, 1, 2, 3, 4, 5, 6, 7] >>> accumulate(range(8)) <itertools.accumulate object at 0xb6af7ff0> >>> list(accumulate(range(8))) [0, 1, 3, 6, 10, 15, 21, 28] loop accumulator 0 0 1 1 (0+1) 2 1+2=3 (new value) 3 3+3=6 4 6+4=10 5 10+5=15 etc. Another example, accumulating 1 four times, then 2 on the last iteration: >>> list(accumulate([1,1,1,1,2])) [1, 2, 3, 4, 6]