特定长度的分段排列?

时间:2018-10-21 20:44:43

标签: python permutation itertools

输入是长度,例如L = [3,3,2] 我需要构造一个itertools迭代器,该迭代器将返回L中长度的“分段”排列,在[3,3,2]的情况下,我将拥有:

[0,1,2,  3,4,5,  6,7]
[0,1,2,  3,4,5,  7,6]
[0,1,2,  3,5,4,  6,7]
[0,1,2,  3,5,4,  7,6]
[0,1,2,  4,3,5,  6,7]
...
[2,1,0,  5,4,3,  7,6]

总共应该有3!3!2!排列。 如果您能应对挑战,那么我还需要等长度地分割片段,因此在上述情况下,我也将具有上述顺序,但是从 [3,4,5, 0,1,2, 6,7](由于长度为3,所以对前两个块进行了置换)。

0 个答案:

没有答案