here is a one liner. I timed it and it's comprable to the performance of the top answer and gets progressively better with larger seq from 20% slower with len(seq) = 20 and 7% slower with len(seq) = 10000
zip(*[seq[i:(len(seq) - n - 1 + i)] for i in range(n)])