from itertools import chain
l = [1,2,3,4,5,6,7,8,9]
it = chain(l,[0])
result = list(x + next(it) for x in it)
print l,'\n',result,'\n'
l = [1,2,3,4,5,6,7,8,9,10]
it = chain(l,[0])
result = list(x + next(it) for x in it)
print l,'\n',result,'\n'
l = [1,2,3,4,5,6,7,8,9]
it = chain(l,[0,0])
result = list(x + next(it) + next(it) for x in it)
print l,'\n',result,'\n'
l = [1,2,3,4,5,6,7,8,9,10]
it = chain(l,[0,0])
result = list(x + next(it)+ next(it) for x in it)
print l,'\n',result,'\n'
produces
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[3, 7, 11, 15, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[3, 7, 11, 15, 19]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[6, 15, 24]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[6, 15, 24, 10]
But I prefer the JBernardo - glglgl 's solution