如何在python 3中进行循环

如何在python 3中进行循环,python,python-3.x,round-robin,Python,Python 3.x,Round Robin,我必须做一个列表的轮换。我得到一个排序列表,我必须得到这个排序列表的排列中的最小对数和最大树数作为一个变量。它必须有从最低到最高排序的不同数字。例如: MyList=[1, 1, 1, 2, 2, 2, 3, 3, 3, 3] 输出必须是: 1 2 3 1 2 3 1 3 2 3 1 2 1 3 1 4 1 5 1 6 以及: MyList=[1, 1, 1, 1, 1, 2, 3, 4, 5, 6] 输出必须是: 1 2 3 1 2 3 1 3 2 3 1 2 1 3 1 4 1 5

我必须做一个列表的轮换。我得到一个排序列表,我必须得到这个排序列表的排列中的最小对数和最大树数作为一个变量。它必须有从最低到最高排序的不同数字。例如:

MyList=[1, 1, 1, 2, 2, 2, 3, 3, 3, 3]
输出必须是:

1 2 3
1 2 3
1 3
2 3
1 2
1 3
1 4
1 5
1 6
以及:

MyList=[1, 1, 1, 1, 1, 2, 3, 4, 5, 6]
输出必须是:

1 2 3
1 2 3
1 3
2 3
1 2
1 3
1 4
1 5
1 6
我看到我可以用一种叫做循环的方法来做,但我不知道怎么做。 谢谢你的帮助

来自itertools导入周期的

A=[[1,2,3],[4,5,6],[7]]
B=[[8]、[9,10,11]、[12,13]]
对于A中的p:

max1=len(p)如果max1,则每个程序只能编码1个列表。根据你想要的输出长度,你必须为每种长度制作一个新程序。我不能为每种长度制作程序“树数”或“3个数”?3个数,对不起,我的英语为什么在第二种情况下会如此频繁地返回到
1
?根据圆形机器人的一般规则,它应该产生
123456
,然后再产生
1
四次。。。同样的情况也适用于
3
仅与
1
配对,然后仅与
2
配对。这里有一条奇怪的规则你没有解释。