title: Iterating over dictionary returns keys in sorted order
body: <p>I have a question about how python handle data in dictionaries. Lets say I have a simple dictionary with a number as the key and a number as the value as shown below:</p>
  <pre><code>a = { 5: 3, 20: 1, 1: 1, 5: 2, 100: 3, 11: 6,
       14: 1, 15: 2, 16: 4, 17: 2, 25: 1, 19: 1 }
  </code></pre>
  <p>I want to iterate through this dictionary and print out the keys. Every time I loop through the dictionary (as shown below) it prints the keys in increasing order.</p>
  <p>This is what I want it to do, but I was wondering, for my own knowledge, why does this happen? Does it <em>auto sort</em> it in increasing order every time? As you can see in the dictionary above, the keys are clearly not in increasing order but the output below prints them in increasing order.</p>
  <p>I'm just trying to gain a clear understanding, any help would be greatly appreciated. Thanks</p>
  <h2>Example</h2>
  <pre><code>for i in a:
      print i
  </code></pre>
  <p><em>Output</em>:</p>
  <pre><code>1
  5
  11
  14
  15
  16
  17
  19
  20
  25
  100
  </code></pre>