Как я могу вычислить все возможности для массива чисел / бит (в Python, или любой язык в этом отношении)
Я ломал голову уже 3 часа подряд, но до сих порне понимаю, поэтому я спрашиваю здесь. (Я написал Python в названии, но это может быть практически для любого языка)
Позволять'Предположим, у меня есть массив битов (но это также могут быть целые числа в определенном диапазоне) фиксированной длины n, пусть 'скажи 5.
array=[0,1,1,0,0]
Теперь, как мне сгенерировать ВСЕ массивы, которые возможны в диапазоне номеров (в случае битов, 2).
Так:
[0,0,0,0,0], [0,0,0,0,1], [0,0,0,1,0], [0,0,0,1,1] ...
Я пытался найти решение здесь, но я всегда нахожу что-то похожее, но неТ вполне решить мою проблему.
Чтобы решить эту проблему, я пробовал разные циклы, но в итоге я всегда получаю одну возможность более одного раза (не должно происходить) или не получаю все возможные.
Я могу сделать это с помощью операторов if (чтобы проверить, существует ли уже комбинация), но это кажется очень простым.
Есть ли простой метод, использующий только циклы, чтобы получить все возможности?
Спасибо
Изменить: так как это было упомянуто ниже, нет, это не домашнее задание. Это для исследований с целью реализации байесовской сети бинарных состояний. (вкл выкл).