Is nested dictionary possible in python?

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:-
{}

Can you have a nested dictionary in Python?

A dictionary can contain dictionaries, this is called nested dictionaries.

Can Python dictionary be nested to any depth?

Dictionaries can be nested to any depth. Items are accessed by their position in a dictionary. Dictionaries are mutable. All the keys in a dictionary must be of the same type.

How do you create an empty nested dictionary in Python?

In Python to create an empty dictionary, we can assign no elements in curly brackets {}. We can also create an empty dictionary by using the dict[] method it is a built-in function in Python and takes no arguments.

Chủ Đề