title: Update value of a nested dictionary of varying depth
body: <p>I'm looking for a way to update dict dictionary1 with the contents of dict update wihout overwriting levelA</p>
  
  <pre><code>dictionary1={'level1':{'level2':{'levelA':0,'levelB':1}}}
  update={'level1':{'level2':{'levelB':10}}}
  dictionary1.update(update)
  print dictionary1
  {'level1': {'level2': {'levelB': 10}}}
  </code></pre>
  
  <p>I know that update deletes the values in level2 because it's updating the lowest key level1.</p>
  
  <p>How could I tackle this, given that dictionary1 and update can have any length?</p>