from collections import OrderedDict import pprint menu = {\"about\" : \"about\", \"login\" : \"login\", \'signup\': \"signup\"} menu = OrderedDict(menu) pprint.ppr
By putting the items in a (non-ordered) dict and constructing the OrderedDict from that, you've already discarded the original order. Construct the OrderedDict from a list of tuples, not a dict.