title: Subtract values from list of dictionaries from another list of dictionaries
body: <p>I have two lists of dictionaries.</p>
  
  <pre><code>foo = [{'Tom': 8.2}, {'Bob': 16.7}, {'Mike': 11.6}]
  bar = [{'Tom': 4.2}, {'Bob': 6.7}, {'Mike': 10.2}]
  </code></pre>
  
  <p>The subtraction of a and b should be updated in foo:</p>
  
  <pre><code>foo = [{'Tom': 4.0}, {'Bob': 10.0}, {'Mike': 1.4}]
  </code></pre>
  
  <p>Now I tried this with two loops and the <code>zip</code>-function:</p>
  
  <pre><code>def sub(a,b):       
      for mydict,mydictcorr in zip(a,b):
          {k:[x-y for x, y in mydict[k], mydictcorr[k]] for k in mydict}
      return mydict
  print sub(foo,bar)
  </code></pre>
  
  <p>I get a <code>TypeError: 'float' object is not iterable</code>. Where's my mistake?</p>