import itertools 
 
def sliding_window(seq, window_size): 
    raw_iters = itertools.tee(seq, window_size) 
    iters = [itertools.islice(it, step, None) for step,it in enumerate(raw_iters)]
    yield from zip(*iters)