Сегментированные перестановки определенной длины? - PullRequest
0 голосов
/ 21 октября 2018

Входными данными являются длины, например, 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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...