Skip to content

Instantly share code, notes, and snippets.

@togakangaroo togakangaroo/foo.md
Created Mar 8, 2020

Embed
What would you like to do?

Table of Contents

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.