Если вам нужен итератор, который возвращает полные заполненные списки:
def group(a, n=5, default=None):
a = iter(a)
while True:
yield [next(a)] + [next(a, default) for i in range(n-1)]
>>> list(group(range(8))
[[0, 1, 2, 3, 4], [5, 6, 7, None, None]]