Dans cet article, vous découvrirez le dictionnaire imbriqué en Python. Plus précisément, vous apprendrez à créer un dictionnaire imbriqué, à accéder à des éléments, à les modifier, etc. à l'aide d'exemples.
En Python, un dictionnaire est une collection d'éléments non ordonnés. Par exemple:
dictionnaire = ('clé': 'valeur', 'clé_2': 'valeur_2')
Ici, le dictionnaire a une key:value
paire entre accolades ()
.
Pour en savoir plus sur le dictionnaire, veuillez visiter Dictionnaire Python.
Qu'est-ce que le dictionnaire imbriqué en Python?
En Python, un dictionnaire imbriqué est un dictionnaire dans un dictionnaire. C'est une collection de dictionnaires dans un seul dictionnaire.
nested_dict = ('dictA': ('clé_1': 'valeur_1'), 'dictB': ('clé_2': 'valeur_2'))
Ici, le nested_dict est un dictionnaire imbriqué avec le dictionnaire dictA
et dictB
. Ce sont deux dictionnaires ayant chacun leur propre clé et valeur.
Créer un dictionnaire imbriqué
Nous allons créer un dictionnaire de personnes dans un dictionnaire.
Exemple 1: Comment créer un dictionnaire imbriqué
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Lorsque nous exécutons le programme ci-dessus, il affichera:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Femme'))
Dans le programme ci-dessus, people est un dictionnaire imbriqué. Le dictionnaire interne 1
et 2
est attribué aux personnes. Ici, à la fois le dictionnaire ont clé name
, age
, sex
avec des valeurs différentes. Maintenant, nous imprimons le résultat des personnes.
Accéder aux éléments d'un dictionnaire imbriqué
Pour accéder à l'élément d'un dictionnaire imbriqué, nous utilisons la ()
syntaxe d' indexation en Python.
Exemple 2: Accéder aux éléments en utilisant la syntaxe ()
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people(1)('name')) print(people(1)('age')) print(people(1)('sex'))
Lorsque nous exécutons le programme ci-dessus, il affichera:
Jean 27 homme
Dans le programme ci-dessus, nous imprimons la valeur de la clé en name
utilisant ie à people(1)('name')
partir du dictionnaire interne 1
. De même, nous imprimons la valeur de age
et sex
une par une.
Ajouter un élément à un dictionnaire imbriqué
Exemple 3: Comment modifier ou ajouter des éléments dans un dictionnaire imbriqué?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) people(3) = () people(3)('name') = 'Luna' people(3)('age') = '24' people(3)('sex') = 'Female' people(3)('married') = 'No' print(people(3))
Lorsque nous exécutons le programme ci-dessus, il affichera:
('nom': 'Luna', 'âge': '24', 'sexe': 'Femme', 'marié': 'Non')
Dans le programme ci-dessus, nous créons un dictionnaire vide 3
à l'intérieur du dictionnaire people.
Ensuite, nous ajoutons la key:value
paire ie people(3)('Name') = 'Luna'
à l'intérieur du dictionnaire 3
. De même, nous faisons cela pour la clé age
, sex
et married
une par une. Lorsque nous imprimons le people(3)
, nous obtenons des key:value
paires de dictionnaires 3
.
Exemple 4: Ajouter un autre dictionnaire au dictionnaire imbriqué
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No')) people(4) = ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes') print(people(4))
Lorsque nous exécutons le programme ci-dessus, il affichera:
('nom': 'Peter', 'age': '29', 'sexe': 'Homme', 'marié': 'Oui')
In the above program, we assign a dictionary literal to people(4)
. The literal have keys name
, age
and sex
with respective values. Then we print the people(4)
, to see that the dictionary 4
is added in nested dictionary people.
Delete elements from a Nested Dictionary
In Python, we use “ del “ statement to delete elements from nested dictionary.
Example 5: How to delete elements from a nested dictionary?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes')) del people(3)('married') del people(4)('married') print(people(3)) print(people(4))
When we run above program, it will output:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
In the above program, we delete the key:value
pairs of married
from internal dictionary 3
and 4
. Then, we print the people(3)
and people(4)
to confirm changes.
Example 6: How to delete dictionary from a nested dictionary?
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male')) del people(3), people(4) print(people)
When we run above program, it will output:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'))
In the above program, we delete both the internal dictionary 3
and 4
using del
from the nested dictionary people. Then, we print the nested dictionary people to confirm changes.
Iterating Through a Nested Dictionary
Using the for loops, we can iterate through each elements in a nested dictionary.
Example 7: How to iterate through a Nested dictionary?
people = (1: ('Name': 'John', 'Age': '27', 'Sex': 'Male'), 2: ('Name': 'Marie', 'Age': '22', 'Sex': 'Female')) for p_id, p_info in people.items(): print("Person ID:", p_id) for key in p_info: print(key + ':', p_info(key))
When we run above program, it will output:
Person ID: 1 Name: John Age: 27 Sex: Male Person ID: 2 Name: Marie Age: 22 Sex: Female
In the above program, the first loop returns all the keys in the nested dictionary people. It consist of the IDs p_id of each person. We use these IDs to unpack the information p_info of each person.
The second loop goes through the information of each person. Then, it returns all of the keys name
, age
, sex
of each person's dictionary.
Now, we print the key of the person’s information and the value for that key.
Key Points to Remember:
- Nested dictionary is an unordered collection of dictionary
- Slicing Nested Dictionary is not possible.
- We can shrink or grow nested dictionary as need.
- Like Dictionary, it also has key and value.
- Le dictionnaire est accessible à l'aide de la clé.