How to convert a nested OrderedDict to dict?
Last Updated :
24 Nov, 2022
In this article, we will discuss how to convert a nested OrderedDict to dict? Before this we must go through some concepts:
- Dictionary in Python is an unordered collection of data values, used to store data values like a map, which, unlike other Data Types that hold only a single value as an element, Dictionary holds the key:value pair. Key-value is provided in the dictionary to make it more optimized.
- An OrderedDict is a dictionary subclass that remembers the order in that keys were first inserted.
- The only difference between dict() and OrderedDict() is that: OrderedDict preserves the order in which the keys are inserted. A regular dict doesn’t track the insertion order and iterating it gives the values in an arbitrary order. By contrast, the order in the items are inserted is remembered by OrderedDict.
To define the nested OrderedDict, we are using the collections module in python.
Python3
from collections import OrderedDict
od1 = OrderedDict([( '1' , 'one' ), ( '2' , 'two' )])
print ( type (od1))
print (od1)
od2 = OrderedDict([( '1' , 'one' ),
( '2' , OrderedDict([( '-2' ,
'-ive' ),
( '+2' ,
'+ive' )]))])
print ( type (od2))
print (od2)
|
Output:
<class ‘collections.OrderedDict’>
OrderedDict([(‘1’, ‘one’), (‘2’, ‘two’)])
<class ‘collections.OrderedDict’>
OrderedDict([(‘1’, ‘one’), (‘2’, OrderedDict([(‘-2’, ‘-ive’), (‘+2’, ‘+ive’)]))])
We can convert the OrderedDict to dict in just one line, but this is for only simple OrderedDict, not for the nested OrderedDict.
Python3
from collections import OrderedDict
od1 = OrderedDict([( '1' , 'one' ), ( '2' , 'two' )])
od1 = dict (od1)
print ( type (od1))
print (od1)
|
Output:
<class 'dict'>
{'1': 'one', '2': 'two'}
So, to convert nested OrderedDict to dict, we are using json.loads() and json.dumps() methods.
- The full form of JSON is JavaScript Object Notation. It means that a script (executable) file which is made of text in a programming language, is used to store and transfer the data. Python supports JSON through a built-in package called JSON. To use this feature, we import the JSON package in Python script. The text in JSON is done through quoted-string which contains the value in key-value mapping within { }. It is similar to the dictionary in Python.
- The json.loads() method can be used to parse a valid JSON string and convert it into a Python Dictionary. It is mainly used for deserializing native string, byte, or byte array which consists of JSON data into Python Dictionary.
- The json.dumps() function converts a Python object into a json string.
Python3
from collections import OrderedDict
import json
od2 = OrderedDict([( '1' , 'one' ),
( '2' , OrderedDict([( '-2' ,
'-ive' ),
( '+2' ,
'+ive' )]))])
od2 = json.loads(json.dumps(od2))
print ( type (od2))
print (od2)
|
Output:
<class 'dict'>
{'1': 'one', '2': {'-2': '-ive', '+2': '+ive'}}
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...