2016-11-01 8 views
2

Я пытаюсь найти способ создания массива, где у меня будут все варианты, составленные из набора символов

дал ABC, я хочу иметь все возможные п-элементы комбинации
, например

python - как создать массив из всех комбинаций из n серий символов из k заданных символов

A A A B B 
A B C A A 
A B C A B 
A B C B A 
etc. 

есть ли функция, которая дала бы мне что-то вроде этого? Я посмотрел на print list(itertools.permutations('ABC',5)), но, похоже, он не работает, поскольку 5 больше, чем количество заданных символов.

+2

Как насчет 'продукта ('ABC', повторите = 5)'? –

+1

Возможный дубликат [Как получить все возможные комбинации элементов списка?] (Http://stackoverflow.com/questions/464864/how-to-get-all-possible-combinations-of-a-list-s- элементы) – Amadan

+0

'list (itertools.product ('ABC', repeat = 5))' должен работать для вашего прецедента. – Amadan

ответ

4

Я считаю, что вы ищете product:

list(product('ABC', repeat=5)) 

Выход:

[('A', 'A', 'A', 'A', 'A'), 
('A', 'A', 'A', 'A', 'B'), 
('A', 'A', 'A', 'A', 'C'), 
('A', 'A', 'A', 'B', 'A'), 
('A', 'A', 'A', 'B', 'B'), 
('A', 'A', 'A', 'B', 'C'), 
('A', 'A', 'A', 'C', 'A'), 
('A', 'A', 'A', 'C', 'B'), 
... 

 Смежные вопросы

  • Нет связанных вопросов^_^