Closed
Description
Something like
def groupsof(n, iterable):
"""Split iterable into groups (tuples) of length n.
If the length of iterable is not divisible by n, the last group may be of size < n."""
iterator = iter(iterable)
while True:
group = [next(iterator)]
for _ in range(1, n):
try:
group.append(next(iterator))
except StopIteration:
break
yield tuple(group)
if len(group) != n:
break