title: Python3 : Do dict constructor create deep copies?
body: <p>I'm trying to understand shallow-copy vs deep-copy concept in Python3.</p>
  
  <p>From below code I found that change done in dict2 is not getting reflected back in dict1. </p>
  
  <pre><code>1&gt;&gt;&gt; dict1 = {1:[1,2]}
  2&gt;&gt;&gt; dict2 = dict(dict1)
  3&gt;&gt;&gt; dict2[1]=[1,2,3]
  4&gt;&gt;&gt; dict1,dict2
  ({1: [1, 2]}, {1: [1, 2, 3]})
  </code></pre>
  
  <p>Am I correct in understanding that a deep copy is created on line#2 in above code.</p>