Prerequisite – Python dictionary
A Dictionary in Python works similar to the Dictionary in the real world. Keys of a Dictionary must be unique and of immutable data type such as Strings, Integers and tuples, but the key-values can be repeated and be of any type.
Nested Dictionary: Nesting Dictionary means putting a dictionary inside another dictionary. Nesting is of
great use as the kind of information we can model in programs is expanded greatly.
Python3
nested_dict
=
{
'dict1'
: {
'key_A'
:
'value_A'
},
'dict2'
: {
'key_B'
:
'value_B'
}}
Python3
Dict
=
{
1
:
'Geeks'
,
2
:
'For'
,
3
: {
'A'
:
'Welcome'
,
'B'
:
'To'
,
'C'
:
'Geeks'
}}
Creating a Nested Dictionary
In Python, a Nested dictionary can be created by placing the comma-separated dictionaries enclosed within braces.
Python3
Dict
=
{
'Dict1'
: { },
'Dict2'
: { }}
print
["Nested dictionary
1
-
"]
print
[
Dict
]
Dict
=
{
'Dict1'
: {
'name'
:
'Ali'
,
'age'
:
'19'
},
'Dict2'
: {
'name'
:
'Bob'
,
'age'
:
'25'
}}
print
["\nNested dictionary
2
-
"]
print
[
Dict
]
Dict
=
{
'Dict1'
: {
1
:
'G'
,
2
:
'F'
,
3
:
'G'
},
'Dict2'
: {
'Name'
:
'Geeks'
,
1
: [
1
,
2
]} }
print
["\nNested dictionary
3
-
"]
print
[
Dict
]
Output:
Nested dictionary 1- {'Dict1': {}, 'Dict2': {}} Nested dictionary 2- {'Dict1': {'name': 'Ali', 'age': '19'}, 'Dict2': {'name': 'Bob', 'age': '25'}} Nested dictionary 3- {'Dict1': {1: 'G', 2: 'F', 3: 'G'}, 'Dict2': {1: [1, 2], 'Name': 'Geeks'}}
Adding elements to a Nested Dictionary
Addition of elements to a nested Dictionary can be
done in multiple ways. One way to add a dictionary in the Nested dictionary is to add values one be one, Nested_dict[dict][key] = ‘value’. Another way is to add the whole dictionary in one go, Nested_dict[dict] = { ‘key’: ‘value’}.
Python3
Dict
=
{ }
print
["Initial nested dictionary:
-
"]
print
[
Dict
]
Dict
[
'Dict1'
]
=
{}
Dict
[
'Dict1'
][
'name'
]
=
'Bob'
Dict
[
'Dict1'
][
'age'
]
=
21
print
["\nAfter adding dictionary Dict1"]
print
[
Dict
]
Dict
[
'Dict2'
]
=
{
'name'
:
'Cara'
,
'age'
:
25
}
print
["\nAfter adding dictionary Dict1"]
print
[
Dict
]
Output:
Initial nested dictionary:- {} After adding dictionary Dict1 {'Dict1': {'age': 21, 'name': 'Bob'}} After adding dictionary Dict1 {'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
Access elements of a Nested Dictionary
In order to access the value of any key in nested
dictionary, use indexing [] syntax.
Python3
Dict
=
{
'Dict1'
: {
'name'
:
'Ali'
,
'age'
:
'19'
},
'Dict2'
: {
'name'
:
'Bob'
,
'age'
:
'25'
}}
print
[
Dict
[
'Dict1'
][
'name'
]]
print
[
Dict
[
'Dict2'
][
'age'
]]
Output:
Ali 25
Deleting dictionaries from a Nested Dictionary
Deletion of dictionaries from a nested dictionary can be done either by using del keyword or by using pop[] function.
Python3
Dict
=
{
'Dict1'
: {
'name'
:
'Ali'
,
'age'
:
19
},
'Dict2'
: {
'name'
:
'Bob'
,
'age'
:
21
}}
print
["Initial nested dictionary:
-
"]
print
[
Dict
]
print
["\nDeleting Dict2:
-
"]
del
Dict
[
'Dict2'
]
print
[
Dict
]
print
["\nDeleting Dict1:
-
"]
Dict
.pop[
'Dict1'
]
print
[
Dict
]
Output:
Initial nested dictionary:- {'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}} Deleting Dict2:- {'Dict1': {'name': 'Ali', 'age': 19}} Deleting Dict1:- {}