Извините за загадочное название.Например, у меня есть список: [a, b, c, d]
Я хочу создать ранжированный список с различными комбинациями в этом формате:
[a]
[b]
[c]
[d]
[a, b]
[a, c]
[a, d]
[a, b, c]
[a, b, d]
[a, b, c, d]
У меня возникли проблемы при создании этого списка.Пока что я сначала сгенерировал каждый список, добавив элемент на итерацию:
[]
[a]
[a, b]
[a, b, c]
Затем я сгенерировал длину того, как должен выглядеть ранжированный список:
[]
[]
[]
[]
[a]
[a]
[a]
[a, b]
[a, b]
[a, b, c]
ТеперьЯ застрял отсюда.Есть ли в Python библиотека, которая позволяет мне это делать, или вы можете делать это только вручную в коде?Последнее, что мне нужно сделать, - это сделать список один-к-одному, добавляя его к исходному списку, который я сгенерировал вверху.
Вот код того, что я пытался сделать, предположим, original_list
- этоисходный список, который я сделал вверху, и new_list
- это список, который я создал прямо над этим текстом:
for x in range(0, len(original_list)):
new_list[x].append(original_list[x])
Очевидно, это не работает, так как он добавляет каждый элемент от original_list
к первому4 элемента в new_list
.
РЕДАКТИРОВАТЬ: элементы должны быть в алфавитном порядке, только последний элемент имеет разные комбинации без повторяющихся элементов, так как я пытаюсь это сделать в списке из 21 элемента.