title: How to generate list combinations?
body: <p>I want to produce a list of lists that represents all possible combinations of the numbers 0 and 1. The lists have length n.</p>
  
  <p>The output should look like this. For n=1:</p>
  
  <pre><code>[ [0], [1] ]
  </code></pre>
  
  <p>For n=2:</p>
  
  <pre><code>[ [0,0], [0, 1], [1,0], [1, 1] ]
  </code></pre>
  
  <p>For n=3:</p>
  
  <pre><code>[ [0,0,0], [0, 0, 1], [0, 1, 1]... [1, 1, 1] ]
  </code></pre>
  
  <p>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).</p>
  
  <p>Any hints or suggestions? I have tried some recursive techniques, but I haven't found the solution.</p>