title: how to create a new dictionary in for loop?
body: <p>In python 3.5.1</p>
  
  <pre><code>og_dict = {'name':'user1', 'salary':'1k'}
  og_dict_list =[]
  for i in range(2,5):
      og_dict['salary'] = str(i)+'k'
      og_dict_list.append(og_dict)
  for og_dict_obj in og_dict_list:
      print(og_dict_obj)
  </code></pre>
  
  <p>Above code produces following output :</p>
  
  <pre><code>{'name': 'user1', 'salary': '4k'}
  {'name': 'user1', 'salary': '4k'}
  {'name': 'user1', 'salary': '4k'}
  </code></pre>
  
  <p>But I am expecting below output :</p>
  
  <pre><code>{'name': 'user1', 'salary': '2k'}
  {'name': 'user1', 'salary': '3k'}
  {'name': 'user1', 'salary': '4k'}
  </code></pre>
  
  <p>Apparantely python modifies the existing dictionary only and does not create a new one. What can I do to solve this issue?</p>
  
  <p>Is there exist a way to create a new dictionary object from existing one?
  Is there any other collection which is more suitable for this?</p>