title: Menu options don't appear ordered
body: <p>I have this code below to show a list of options that user can choose entering a number.</p>
  
  <p>It is working fine but I don't understand why the options don't appear ordered.</p>
  
  <p>Instead of having:</p>
  
  <blockquote>
    <p>1 - User Management<br>
    2 - Uploads<br>
    8 - Exit</p>
  </blockquote>
  
  <p>I'm having:</p>
  
  <blockquote>
    <p>1 - User Management<br>
    8 - Exit<br>
    2 - Uploads  </p>
  </blockquote>
  
  <p>Do you see where the issue is?</p>
  
  <pre><code>Choice = namedtuple("Choice", ['msg', 'callback'])
  
  def nav():
      print ""
      while True:
          response_options = {'1': Choice(msg="User Management", callback=userManagment),
                              '2': Choice(msg="Uploads", callback=upload),
                              '8': Choice(msg="Exit", callback=sys.exit)}
          result = make_choice(response_options)
          if result is None:
              print "-&gt; Selected option not available."
              print ""
          else:
              result.callback()
      return False
  
  def make_choice(optiontable):
      for resp, choiceobj in optiontable.items():
          print("{} - {}".format(resp, choiceobj.msg))
      print ""
      print "Select an option: "
      print ""
      usr_resp = raw_input("&gt;&gt; ")
      print ""
      return optiontable.get(usr_resp, None)
  </code></pre>