Учитывая список элементов в Python, как я могу получить все возможные комбинации элементов?
На этом сайте есть несколько похожих вопросов, которые предлагают использовать itertools.combinations
, но возвращают только часть того, что мне нужно:
stuff = [1, 2, 3]
for L in range(0, len(stuff)+1):
for subset in itertools.combinations(stuff, L):
print(subset)
()
(1,)
(2,)
(3,)
(1, 2)
(1, 3)
(2, 3)
(1, 2, 3)
Как видите, он возвращает только элементы в строгом порядке, не возвращая (2, 1)
, (3, 2)
, (3, 1)
, (2, 1, 3)
, (3, 1, 2)
, (2, 3, 1)
и (3, 2, 1)
. Есть ли обходной путь для этого? Кажется, я ничего не могу придумать.