title: Replacing an element in a list with multiple elements
body: <p>I am trying to modify a list of two lists. For each of the two inside lists, I perform some operation and 'split' them into new lists.<br>
  Here is a simple example of what I'm trying to do:</p>
  
  <pre><code>[['a', 'b'], ['c', 'd']]  --&gt;  [['a'], ['b'], ['c', 'd']]
  </code></pre>
  
  <p>Currently my algorithm passes <code>['a', 'b']</code> to a function that determines whether or not it should be split into <code>[['a'], ['b']]</code> (e.g. based on their correlations). The function returns <code>[['a'], ['b']]</code> which tells me that <code>['a', 'b']</code> should be split, or returns <code>['a', 'b']</code> (the original list) which indicates that it should not be split. </p>
  
  <p>Currently I have something like this:</p>
  
  <pre><code>blist = [['a', 'b'], ['c', 'd']]   #big list
  slist =  [['a'], ['b']]            #small list returned by function
  
  nlist = [items for i in xrange(len(blist)) for items in (slist if i==0 else blist[i])]
  </code></pre>
  
  <p>This produces <code>[['a'], ['b'], 'c', 'd']</code> as opposed to the desired output <code>[['a'], ['b'], ['c', 'd']]</code> which does not alter the second list in the original blist. I understand why this is happening--my second loop is also applied to <code>blist[1]</code> in this case, but I am not sure how to fix it as I do not understand list comprehension completely. </p>
  
  <p>A 'pythonic' solution is preferred.
  Any feedback would be appreciated, thank you!</p>
  
  <p><strong>EDIT</strong>: Like the title suggests, I am trying to 'replace' <code>['a', 'b']</code> with <code>['a'], ['b']</code>. So I would like the 'position' to be the same, having <code>['a'], ['b']</code> appear in the original list before <code>['c', 'd']</code></p>
  
  <p><strong>RESULTS</strong>
  Thank you Christian, Paul and schwobaseggl for your solutions! They all work :)</p>