from collections import OrderedDict
import pprint
menu = {"about" : "about", "login" : "login", 'signup': "signup"}
menu = OrderedDict(menu)
pprint.pprint(menu.items())
import sys
sys.exit()
The output is:
[('about', 'about'), ('signup', 'signup'), ('login', 'login')]
So, the order is not preserved even with the use of OrderedDict
. I know the dictionaries don't preserve the initial order by default, and all those things. But I want to learn why the OrderedDict
is not working.
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.
Please find code snippet below
I suggest you to vist examples from my article
https://techietweak.wordpress.com/2015/11/11/python-collections/