Вывести все комбинации элементов списка Python

Вывести все комбинации элементов списка Python

Для определенных целей может понадобиться вывести все комбинации элементов списка Python. Сделать это можно с модулем itertools.

Например, у нас есть три элемента: a, b, c. И мы хотим получить все их комбинации. Для этого напишем следующий код:

import itertools

mylist = ['a', 'b', 'c']
iter_len = len(mylist)+1
for i in range(0, iter_len):
    for combo in itertools.combinations(mylist, i):
        print(combo)

На выходе получаем:

()
('a',)
('b',)
('c',)
('a', 'b')
('a', 'c')
('b', 'c')
('a', 'b', 'c')

Если нужно вывести каждую комбинацию в виде одного слова, в этой заметке рассказано как вывести список Python в виде одной строки.

Если же необходимо, чтобы в комбинации было ограниченное количество элементов, то поиграйтесь с переменной iter_len, делая ее меньше длины списка.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.


Unlix © Все права защищены 2021

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!