title: Generate all possible splits of a list in Python
body: <p>I have a <code>list</code> in python:</p>
  
  <pre><code>[1,2,3,4]
  </code></pre>
  
  <p>I want to generate all the possible splits of this <code>list</code>:</p>
  
  <pre><code>[1,2,3,4]
  [1] [2,3,4]
  [2] [1,3,4]
  [3] [1,2,4]
  [4] [1,2,3]
  [1,2] [3,4]
  [1,3] [2,4]
  [1,4] [2,3]
  </code></pre>
  
  <p>What is the best way to do this?  I can generate the first side with <code>itertools.combinations()</code>, but what is the easiest way to calculate the remainder, given the <code>list</code> and a <code>subset</code>?</p>