Вот вопрос:Генерация всех комбинаций списка в Python
Учитывая список элементов в Python, как бы я ехать, чтобы получить все возможные комбинации элементов?
Есть несколько подобных вопросов на данном сайте, которые предлагают использовать itertools.combine, но возвращает только часть того, что мне нужно:
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). Есть ли какое-то обходное решение? Кажется, я ничего не могу придумать.
порядок не имеет значения в комбинациях, (2, 1) совпадает с (1, 2) –
Хороший вопрос. Хотя технически вы могли бы написать свою собственную функцию, чтобы получить эти комбинации. – Sam