title: Sorting dictionary with alphanumeric keys in natural order
body: <p>I have a python dictionary:</p>
  
  <pre><code>d = {'a1': 123, 'a2': 2, 'a10': 333, 'a11': 4456}
  </code></pre>
  
  <p>When I sort the dictionary using <code>OrderedDict</code> I get the following output:</p>
  
  <pre><code>from collections import OrderedDict
  OrderedDict(sorted(d.items()))
  # Output
  # OrderedDict([('a1', 123), ('a10', 333), ('a11', 4456), ('a2', 2)])
  </code></pre>
  
  <p>Is there a way to get it in the natural order:</p>
  
  <pre><code>OrderedDict([('a1', 123), ('a2', 2), ('a10', 333), ('a11', 4456)])
  or 
  {'a1': 123, 'a2': 2, 'a10': 333, 'a11': 4456}
  </code></pre>
  
  <p>Thanks.</p>