OrderedDict in Python is a subclass of Dictionary and is very useful many times for programmers. This preserves the order of the keys in that they were inserted. The other available subclass is dict() but this is not able to preserve the order the keys were inserted.


We will understand these two with the help of examples given below –
from collections import OrderedDict print("This is a Dict ordered:\n") dic = {} dic['one'] = 1 dic['two'] = 2 dic['three'] = 3 dic['four'] = 4 for key, value in dic.items(): print(key, value) print("\nThis is an Ordered Dict Order:\n") odic = OrderedDict() odic['one'] = 1 odic['two'] = 2 odic['three'] = 3 odic['four'] = 4 for key, value in odic.items(): print(key, value)
Output –
This is a Dict ordered:
one 1
two 2
three 3
four 4
This is an Ordered Dict Order:
one 1
two 2
three 3
four 4
Altering in Values
Deleting, and then re-inserting a key Value:
When a key is deleted and re-inserted, it is pushed to the last.
We will understand this with the help of the example given below –
from collections import OrderedDict print("Before deleting from OrderedDict:\n") odic = OrderedDict() odic['o'] = 1 odic['t'] = 2 odic['th'] = 3 odic['f'] = 4 for key, value in odic.items(): print(key, value) print("\nAfter deleting th from OrderedDict:\n") odic.pop('th') for key, value in odic.items(): print(key, value) print("\nAfter re-inserting th to OrderedDIct:\n") odic['th'] = 3 for key, value in odic.items(): print(key, value)
Output –
Before deleting from OrderedDict:
o 1
t 2
th 3
f 4
After deleting th from OrderedDict:
o 1
t 2
f 4
After re-inserting th to OrderedDIct:
o 1
t 2
f 4
th 3
You may also like: Inheritance in Python
Change in Key Value:
If a key value is changed in orderedDict, the position of the key still remains the same as before.
We will understand this with the help of the example given below –
from collections import OrderedDict print("Before:\n") odic = OrderedDict() odic['one'] = 1 odic['two'] = 2 odic['three'] = 3 odic['four'] = 4 for key, value in odic.items(): print(key, value) print("\nAfter:\n") odic['five'] = 5 for key, value in odic.items(): print(key, value)
Output –
Before:
one 1
two 2
three 3
four 4
After:
one 1
two 2
three 3
four 4
five 5
So, in this article, we learned about one of the very useful sub-class of Dictionary class which was orderedDict. Which is used when we want the ordered to be maintained. This is quite similar to the ordered List that we learn in the C++ STL library.
Attempt free python online test