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.
nested_dict = { 'dict1': {'key_A': 'value_A'}, 'dict2': {'key_B': 'value_B'}} |

# As shown in image # Creating a Nested Dictionary 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 withing braces.
# Empty nested dictionary Dict = { 'Dict1': { }, 'Dict2': { }} print("Nested dictionary 1-") print(Dict) # Nested dictionary having same keys Dict = { 'Dict1': {'name': 'Ali', 'age': '19'}, 'Dict2': {'name': 'Bob', 'age': '25'}} print("\nNested dictionary 2-") print(Dict) # Nested dictionary of mixed dictionary keys 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'}.
Dict = { } print("Initial nested dictionary:-") print(Dict) Dict['Dict1'] = {} # Adding elements one at a time Dict['Dict1']['name'] = 'Bob'Dict['Dict1']['age'] = 21print("\nAfter adding dictionary Dict1") print(Dict) # Adding whole dictionary 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.
# Nested dictionary having same keys Dict = { 'Dict1': {'name': 'Ali', 'age': '19'}, 'Dict2': {'name': 'Bob', 'age': '25'}} # Prints value corresponding to key 'name' in Dict1 print(Dict['Dict1']['name']) # Prints value corresponding to key 'age' in Dict2 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.
Dict = {'Dict1': {'name': 'Ali', 'age': 19}, 'Dict2': {'name': 'Bob', 'age': 21}} print("Initial nested dictionary:-") print(Dict) # Deleting dictionary using del keyword print("\nDeleting Dict2:-") del Dict['Dict2'] print(Dict) # Deleting dictionary using pop function 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:-
{}
Recommended Posts:
- Python | Convert nested dictionary into flattened dictionary
- Python | Convert flattened dictionary into nested dictionary
- Python | Sort nested dictionary by key
- Python: Update Nested Dictionary
- Python - Maximum Value in Nested Dictionary
- Python | Sum values for each key in nested dictionary
- Python - Nested dictionary Combinations
- Python - Inversion in nested dictionary
- Python - Inner Nested Value List Mean in Dictionary
- Python | Add keys to nested dictionary
- Convert nested Python dictionary to object
- Python - Nested Dictionary values summation
- Python - Maximum value assignment in Nested Dictionary
- Python - Flatten Nested Dictionary to Matrix
- Python - Remove K valued key from Nested Dictionary
- Python - Sorted Nested Keys in Dictionary
- Python - Convert Lists to Nested Dictionary
- Python - Convert Nested dictionary to Mapped Tuple
- Python - Summation of Custom nested keys in Dictionary
- Python | Remove duplicate dictionaries from nested dictionary
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

