Dictionnaire imbriqué Python (avec exemples)

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:valuepaire 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 dictAet 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 1et 2est attribué aux personnes. Ici, à la fois le dictionnaire ont clé name, age, sexavec 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 nameutilisant ie à people(1)('name')partir du dictionnaire interne 1. De même, nous imprimons la valeur de ageet sexune 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:valuepaire ie people(3)('Name') = 'Luna'à l'intérieur du dictionnaire 3. De même, nous faisons cela pour la clé age, sexet marriedune par une. Lorsque nous imprimons le people(3), nous obtenons des key:valuepaires 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:

  1. Nested dictionary is an unordered collection of dictionary
  2. Slicing Nested Dictionary is not possible.
  3. We can shrink or grow nested dictionary as need.
  4. Like Dictionary, it also has key and value.
  5. Le dictionnaire est accessible à l'aide de la clé.

Articles intéressants...