Как я могу вычислить все возможности для массива чисел / бит (в 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 (чтобы проверить, существует ли уже комбинация), но это кажется очень простым.

Есть ли простой метод, использующий только циклы, чтобы получить все возможности?

Спасибо

Изменить: так как это было упомянуто ниже, нет, это не домашнее задание. Это для исследований с целью реализации байесовской сети бинарных состояний. (вкл выкл).

Ответы на вопрос(4)

Ваш ответ на вопрос