title: Nested dictionaries copy() or deepcopy()?
body: <p>I tried to store a dictionary template at the beginning of my code that most of the functions will use:</p>
  
  <ul>
  <li>Dictionary: keys = Client name, values = Dictionary2</li>
  <li>Dictionary2: keys = User name, values = None</li>
  </ul>
  
  <p>I filled it with all our clients and their users. Then each part of the code can copy this dictionary and produces it's owns outputs. The goal is that each output will have the same "base" dictionary structure like a template where None can be modified.</p>
  
  <p>For each process using this dictionnary I use the following :</p>
  
  <pre><code>process1dict = clientdict 
  # processing 1
  output1dict = ... #modified version of original clientdict, the None values have been replaced by dictionaries/lists
  
  process2dict = clientdict
  # processing 2
  output2dict = ... #same here but could be different
  </code></pre>
  
  <p>The problem that I have is that the cliendict changes each time it is copied into a process! 
  I noticed that because of the <code>None</code> value in my initial <code>cliendict</code> it changes after each process (depending on the output of each one of course).</p>
  
  <p><strong>Edit:</strong> I found the copy library but <code>copy()</code> seems to not help my case. I will try out the deepcopy() but why did <code>copy()</code> didn't worked? And why <code>deepcopy()</code> will?</p>