title: Python Dictionary not getting updated correctly
body: <pre><code>mydict = {}        
  bufferID = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]    
  physicalAddrList1 = [9,8]    
  physicalAddrList2 = [10,11]    
  addressToIdMap = {}
  def Update_Dictionary(physicalAddrList,cmdId,opcode): 
      for address in physicalAddrList:
           list = GetBufferId()
           addressToIdMap[address] = list 
           mydict[cmdId,opcode] = addressToIdMap
  def GetBufferId():
      list = []
      list.append([bufferID.pop(),25])
      return list 
  
  Update_Dictionary(physicalAddrList1,1,0x01)    
  Update_Dictionary(physicalAddrList2,2,0x02)      
  print mydict
  </code></pre>
  
  <p>OutPut:</p>
  
  <pre><code>C:\Users\29213\Desktop&gt; list4.py
  {(1, 1): {8: [[25, 25]], 9: [[26, 25]], 10: [[24, 25]], 11: [[23, 25]]}, (2, 2): {8: [[25, 25]], 9: [[26, 25]], 10: [[24, 25]], 11: [[23, 25]]}}    
  </code></pre>
  
  <p>Even though both function calls are made with different physical address list, both dictionary keys have all 4 physical address .<br>
      Ideally output should be:             </p>
  
  <pre><code>{(1, 1): {8: [[25, 25]], 9: [[26, 25]]}, (2, 2):{10: [[24, 25]], 11: [[23, 25]]}}
  </code></pre>