Python - Dictionnaires Imbriqués
Salut les apprentis codeurs !aujourd'hui, nous allons plonger dans le monde fascinant des dictionnaires imbriqués en Python. Ne vous inquiétez pas si vous êtes nouveau dans la programmation - je vais vous guider étape par étape à travers ce sujet, tout comme j'ai fait pour d'innombrables étudiants au fil des années de ma carrière d'enseignement. Alors, prenez votre boisson préférée, mettez-vous à l'aise, et partons ensemble dans cette aventure Python !
Dictionnaires Imbriqués
Qu'est-ce qu'un Dictionnaire Imbriqué ?
Imaginez que vous avez une grande boîte (le dictionnaire principal), et à l'intérieur de cette boîte, vous avez plusieurs petites boîtes (les dictionnaires imbriqués). Chacune de ces petites boîtes peut contenir divers articles (paires clé-valeur). C'est essentiellement ce qu'est un dictionnaire imbriqué - un dictionnaire à l'intérieur d'un dictionnaire.
Commençons par un exemple simple :
étudiant = {
"nom": "Alice",
"âge": 20,
"notes": {
"mathématiques": 95,
"sciences": 88,
"histoire": 92
}
}
Dans cet exemple, étudiant
est notre dictionnaire principal. Il contient des informations de base sur Alice, y compris un dictionnaire imbriqué notes
qui contient ses scores dans différentes matières.
Création d'un Dictionnaire Imbriqué en Python
Créer un dictionnaire imbriqué est similaire à créer un dictionnaire ordinaire, mais vous ajoutez un autre dictionnaire comme valeur. Créons un exemple plus complexe - un annuaire d'école :
école = {
"9ème": {
"Alice": {
"âge": 14,
"matières": ["Mathématiques", "Sciences", "Anglais"]
},
"Bob": {
"âge": 15,
"matières": ["Histoire", "Arts", "EPS"]
}
},
"10ème": {
"Charlie": {
"âge": 16,
"matières": ["Physique", "Chimie", "Biologie"]
}
}
}
Ici, nous avons un dictionnaire principal école
, qui contient des niveaux de classe comme clés. Chaque niveau de classe contient un autre dictionnaire avec les noms des élèves comme clés. Chaque élève a ensuite son propre dictionnaire avec des informations personnelles.
Ajout d'Articles à un Dictionnaire Imbriqué en Python
Ajouter des articles à un dictionnaire imbriqué est straightforward. Vous pouvez soit ajouter une nouvelle paire clé-valeur à un dictionnaire imbriqué existant, soit créer un nouveau dictionnaire imbriqué.
Ajoutons un nouvel élève au 10ème :
école["10ème"]["Diana"] = {
"âge": 15,
"matières": ["Mathématiques", "Informatique", "Littérature"]
}
print(école["10ème"])
Sortie :
{
'Charlie': {'âge': 16, 'matières': ['Physique', 'Chimie', 'Biologie']},
'Diana': {'âge': 15, 'matières': ['Mathématiques', 'Informatique', 'Littérature']}
}
Nous pouvons également ajouter un nouveau niveau de classe :
école["11ème"] = {
"Eve": {
"âge": 17,
"matières": ["Économie", "Psychologie", "Français"]
}
}
print(école.keys())
Sortie :
dict_keys(['9ème', '10ème', '11ème'])
Accès aux Articles d'un Dictionnaire Imbriqué en Python
Pour accéder aux articles dans un dictionnaire imbriqué, nous utilisons plusieurs crochets, chacun représentant un niveau d'imbriquement. Récupérons quelques informations de notre dictionnaire école
:
# Obtenir l'âge d'Alice
alice_âge = école["9ème"]["Alice"]["âge"]
print(f"Âge d'Alice : {alice_âge}")
# Obtenir les matières de Charlie
charlie_matières = école["10ème"]["Charlie"]["matières"]
print(f"Matières de Charlie : {charlie_matières}")
Sortie :
Âge d'Alice : 14
Matières de Charlie : ['Physique', 'Chimie', 'Biologie']
N'oubliez pas, si vous n'êtes pas sûr de la structure de votre dictionnaire imbriqué, vous pouvez toujours utiliser la méthode get()
pour éviter les exceptions KeyError :
# Essayer d'obtenir un élève non existant
frank_âge = école.get("9ème", {}).get("Frank", {}).get("âge", "Non trouvé")
print(f"Âge de Frank : {frank_âge}")
Sortie :
Âge de Frank : Non trouvé
Suppression d'un Dictionnaire d'un Dictionnaire Imbriqué
Pour supprimer un dictionnaire imbriqué, nous utilisons le mot-clé del
. Supprimons Bob du 9ème :
del école["9ème"]["Bob"]
print(école["9ème"])
Sortie :
{'Alice': {'âge': 14, 'matières': ['Mathématiques', 'Sciences', 'Anglais']}}
Soyez prudent lors de la suppression d'articles dans des dictionnaires imbriqués. Assurez-vous toujours que les clés existent pour éviter les exceptions KeyError.
Itération à travers un Dictionnaire Imbriqué en Python
Iterer à travers un dictionnaire imbriqué nécessite des boucles imbriquées. Imprimons toutes les informations de notre dictionnaire école
:
for niveau, élèves in école.items():
print(f"\n{niveau} :")
for élève, info in élèves.items():
print(f" {élève} :")
for clé, valeur in info.items():
print(f" {clé} : {valeur}")
Sortie :
9ème :
Alice :
âge : 14
matières : ['Mathématiques', 'Sciences', 'Anglais']
10ème :
Charlie :
âge : 16
matières : ['Physique', 'Chimie', 'Biologie']
Diana :
âge : 15
matières : ['Mathématiques', 'Informatique', 'Littérature']
11ème :
Eve :
âge : 17
matières : ['Économie', 'Psychologie', 'Français']
Cette structure de boucle imbriquée nous permet d'accéder et d'imprimer tous les niveaux de notre dictionnaire imbriqué.
Méthodes pour Travailler avec des Dictionnaires Imbriqués
Voici un tableau des méthodes utiles pour travailler avec des dictionnaires imbriqués :
Méthode | Description |
---|---|
dict.items() |
Retourne un objet de vue contenant des paires clé-valeur du dictionnaire |
dict.keys() |
Retourne un objet de vue contenant les clés du dictionnaire |
dict.values() |
Retourne un objet de vue contenant les valeurs du dictionnaire |
dict.get(clé, défaut) |
Retourne la valeur pour la clé spécifiée si elle existe, sinon retourne la valeur par défaut |
dict.update(other_dict) |
Met à jour le dictionnaire avec des éléments provenant d'un autre dictionnaire ou d'un itérable de paires clé-valeur |
dict.pop(clé, défaut) |
Supprime et retourne la valeur pour la clé spécifiée. Si la clé n'existe pas, retourne la valeur par défaut |
N'oubliez pas, ces méthodes peuvent être appliquées à n'importe quel niveau d'un dictionnaire imbriqué.
Et voilà, mes chers étudiants ! Nous avons exploré les entrailles et les rebords des dictionnaires imbriqués en Python. De la création et de l'ajout d'articles à l'accès, à la suppression et à l'itération, vous disposez maintenant des outils pour travailler avec ces structures de données complexes.
Comme pour toute notion de programmation, la pratique est la clé. Essayez de créer vos propres dictionnaires imbriqués, peut-être un catalogue de bibliothèque numérique ou un livre de recettes. Plus vous jouerez avec ces structures, plus vous vous sentirez à l'aise.
N'oubliez pas, dans le monde de la programmation, les erreurs sont只是 opportunités d'apprendre. Alors, n'ayez pas peur d'expérimenter et de faire des erreurs - c'est ainsi que nous grandissons tous en tant que codeurs. Continuez à coder, à apprendre, et surtout, amusez-vous avec Python !
Credits: Image by storyset