Вы можете попробовать следующее, в котором используется itertools.cycle
:
import itertools
t = [1, 2, 3, 4, 5, 6]
number_of_elms_in_a_group = 4
iteration_number = 7
groups = []
group = []
for i, x in enumerate(itertools.cycle(t)):
if len(groups) >= iteration_number:
break
if i % number_of_elms_in_a_group == 0 and i != 0:
groups.append(group)
group = []
group.append(x)
# At this point,
# groups == [[1, 2, 3, 4], [5, 6, 1, 2], [3, 4, 5, 6],
# [1, 2, 3, 4], [5, 6, 1, 2], [3, 4, 5, 6],
# [1, 2, 3, 4]]
for group in groups:
print(group)
, который печатает
[1, 2, 3, 4]
[5, 6, 1, 2]
[3, 4, 5, 6]
[1, 2, 3, 4]
[5, 6, 1, 2]
[3, 4, 5, 6]
[1, 2, 3, 4]