3 Метод комбинаций в модуле Itertools

itertools.combinations возвращает генератор последовательности к -combination списка.

Другими словами: он будет возвращать генератор кортежей всех возможных K-накрест комбинаций входного списка.

Например:

Если у вас есть список:

 a = [1,2,3,4,5]
b = list(itertools.combinations(a, 2))
print b

 

Выход:

[(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]

Выше выход генератора преобразуется в список кортежей из всех возможных комбинаций пары -wise списка входных a

Вы также можете найти все 3 комбинации:

 a = [1,2,3,4,5]
b = list(itertools.combinations(a, 3))
print b

 

Выход:

 [(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4),
 (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5),
 (2, 4, 5), (3, 4, 5)]