HOWTO · Python
Dictionnaire imbriqué en Python
Ce tutoriel montre comment créer et utiliser des dictionnaires imbriqués en Python
Sur cette page
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'}}