title: Appending a dictionary to a list - I see a pointer like behavior
body: <p>I tried the following in the python interpreter:</p>
  <pre><code>&gt;&gt;&gt; a = []
  &gt;&gt;&gt; b = {1:'one'}
  &gt;&gt;&gt; a.append(b)
  &gt;&gt;&gt; a
  [{1: 'one'}]
  &gt;&gt;&gt; b[1] = 'ONE'
  &gt;&gt;&gt; a
  [{1: 'ONE'}]
  </code></pre>
  <p>Here, after appending the dictionary <code>b</code> to the list <code>a</code>, I'm changing the value corresponding to the key <code>1</code> in dictionary <code>b</code>. Somehow this change gets reflected in the list too. When I append a dictionary to a list, am I not just appending the value of dictionary? It looks as if I have appended a pointer to the dictionary to the list and hence the changes to the dictionary are getting reflected in the list too.</p>
  <p>I do not want the change to get reflected in the list. How do I do it?</p>