I want to produce a list of lists that represents all possible combinations of the numbers 0 and 1. The lists have length n.
The output should look like this. For n=1:
[ [0], [1] ]
For n=2:
[ [0,0], [0, 1], [1,0], [1, 1] ]
For n=3:
[ [0,0,0], [0, 0, 1], [0, 1, 1]... [1, 1, 1] ]
I looked at itertools.combinations but this produces tuples, not lists. [0,1] and [1,0] are distinct combinations, whereas there is only one tuple (0,1) (order doesn't matter).
Any hints or suggestions? I have tried some recursive techniques, but I haven't found the solution.