title: Iterating through string->string dict gives only the first character for each
body: <p>I have a <code>dict</code> as follows:   </p>
  
  <pre><code>values  = {'A1' : '123456', 'B1' : 123456, ....}
  </code></pre>
  
  <p>I know that the correct way to iterate through is:  </p>
  
  <pre><code>for key, value in values.items():
     #do what you want 
  </code></pre>
  
  <p>By mistake, I forgot to add <code>.items()</code> and so I started getting strange <code>KeyError</code> </p>
  
  <p>I tried printing and it was only getting the first character of each string and assigning it to <code>key</code> and <code>value</code></p>
  
  <p>My question is: why is python doing that? what is happening behind the scene? </p>