title: If dicts in python are mutable, why does editing a dict contained in a second dict not change the second dict?
body: <p>I'm new to python and am just learning about immutable and mutable objects (I've never came across this before with my limited coding experience in MATLAB and C#).</p>
  
  <p>I wanted to know why, if dicts in python are mutable, does editing a dict contained in a second dict not change the second dict?</p>
  
  <p>Here is an example, where a dict (batman) is added to a dict of superhero names (super_hero_names). When batman is later changed, it isn't reflected in the superhero names dict. This makes sense to me if dicts were immutable like strings, but they are mutable so why is this happening?</p>
  
  <pre><code>super_hero_names = {
      'Superman' : 'Clark Kent',
      'Spiderman' : 'Peter Parker'
  }
  
  batman = {'Batman' : 'Bruce'}
  
  super_hero_names.update(batman)
  
  batman['Batman'] = 'Bruce Wayne' # (edited)
  
  print(super_hero_names)
  
  # Output: {'Superman': 'Clark Kent', 'Spiderman': 'Peter Parker', 'Batman': 'Bruce'}
  </code></pre>