создать N списков с максимальной длиной K со всеми возможными порядками - PullRequest
0 голосов
/ 23 мая 2018

Учитывая список длины N в Python:

a = [A,B,C]

Я хочу создать все возможные комбинации списков с заданной максимальной длиной (в данном случае 2).Порядок элементов также имеет значение.Вот что я хотел бы получить в результате:

[A,B],[C]
[B,A],[C]

[A,C],[B]
[C,A],[B]

[B,C],[A]
[C,B],[A]

Я думаю, что функция перестановок - хорошее место для начала.Но я не могу понять, как получить точные результаты.

1 Ответ

0 голосов
/ 23 мая 2018

Попробуйте:

a = ['A', 'B', 'C']
for v in permutations(a):
    for i in range(0, len(v), 2):
        print v[i:i+2]
    print '-'*10

Вывод:

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