Question:
I have to create a function that sums of every 2 consecutives elements ina lst. for example ([2,4,3,1,-2]). the output expected [6,7,4,-1]
The basic idea is to take the collection
| 2 | 
| 4 | 
| 3 | 
| 1 | 
| -2 | 
and a copy of it that skips the first element (islice is a good fit for this)
from itertools import islice
return list(islice(lst, 1, None))
| 4 | 3 | 1 | -2 | 
You then zip the two together into a tuple
return list(zip(lst, skipped))
| 2 | 4 | 
| 4 | 3 | 
| 3 | 1 | 
| 1 | -2 | 
Now it's just a matter of iterating each tuple and adding the two elements
return list(a+b for a,b in zipped)
So putting it all together, it's a one liner
from itertools import islice
return list(a+b for a,b in zip(lst, islice(lst, 1, None)))
| 6 | 7 | 4 | -1 |