Dictionnaire imbriqué en Python

Manav Narula 10 octobre 2023
Dictionnaire imbriqué en Python

Un dictionnaire imbriqué en Python est un dictionnaire dans un dictionnaire, où les valeurs du dictionnaire extérieur sont également des dictionnaires. Le code suivant montre un exemple élémentaire.

d1 = {
    0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
    1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1)

Production :

{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}

Nous pouvons facilement accéder aux éléments du dictionnaire en utilisant la clé du dictionnaire imbriqué, comme le montre l’exemple ci-dessous.

d1 = {
    0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
    1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1[0]["Dept"])

Production :

Mathematics

Ici, 0 est la clé du dictionnaire externe, et 'Dept' est la clé du dictionnaire interne.

Nous pouvons également ajouter des éléments comme nous le faisons dans un dictionnaire Python normal. De plus, nous pouvons aussi ajouter un dictionnaire entier comme élément. Par exemple :

d1 = {
    0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
    1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
d1[2] = {"Dept": "CS", "Prof": "Dr Jay"}
print(d1[2])

Production :

{'Dept': 'CS', 'Prof': 'Dr Jay'}

Python a un constructeur defaultdict() dans le module collections pour créer des dictionnaires et retourner une valeur par défaut quand une clé non disponible est accédée.

Le type de données defaultdict() est très utile lorsque vous voulez retourner des valeurs par défaut ou initialiser le dictionnaire selon vos besoins. Le code suivant montre comment créer un dictionnaire simple avec cette méthode :

from collections import defaultdict

d1 = defaultdict(lambda: defaultdict(dict))
d1["key_outer_1"] = {"key_inner_1": "val1"}
d1["key_outer_2"] = {"key_inner_2": "val2"}
print(dict(d1))

Production :

{'key_outer_1': {'key_inner_1': 'val1'}, 'key_outer_2': {'key_inner_2': 'val2'}}
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Dictionary