def batch(iterable, n=1):
    l = len(iterable)
for ndx in range(0, l, n):
    yield iterable[ndx:min(ndx + n, l)]
for x in batch(list(range(0, 10)), 3):
    pass
как разбить итерацию на куски постоянного размера