Cours : Les dictionnaires en Python
Qu’est-ce qu’un dictionnaire ?
Un dictionnaire est une structure de données qui associe des clés à des valeurs.
Il fonctionne comme un vrai dictionnaire :
Vous cherchez un mot (clé), vous obtenez sa définition (valeur).
mon_dict = {"nom": "Alice", "age": 25, "ville": "Paris"}
- Les clés doivent être uniques.
- Les valeurs peuvent être de n'importe quel type.
- Les dictionnaires sont mutables (on peut les modifier).
Créer un dictionnaire
d = {"a": 1, "b": 2}
Ou progressivement :
d = {}
d["a"] = 1
d["b"] = 2
Même avec des types variés :
d = {"nom": "Alice", "age": 25, "notes": [15, 14, 16]}
Accéder à une valeur
d = {"nom": "Bob", "age": 30}
print(d["nom"]) # Bob
print(d.get("age")) # 30
⚠️ Si la clé n’existe pas :
d["ville"]→ ❌ erreurd.get("ville")→ 👍 renvoieNone(ou une valeur par défaut)
d.get("ville", "Inconnue") # "Inconnue"
Modifier / Ajouter / Supprimer
| Action | Syntaxe |
|---|---|
| Ajouter / Modifier | d["clé"] = valeur |
| Supprimer | d.pop("clé") |
| Supprimer (sécurisé) | d.pop("clé", valeur_si_absente") |
| Vider le dictionnaire | d.clear() |
d["age"] = 31 # modification
d["ville"] = "Paris" # ajout
d.pop("age") # suppression
Parcourir un dictionnaire
🔹 Parcourir les clés
for key in d.keys():
print(key)
🔹 Parcourir les valeurs
for value in d.values():
print(value)
🔹 Parcourir les deux
for key, value in d.items():
print(f"{key} -> {value}")
Méthodes utiles
| Méthode | Description |
|---|---|
d.keys() |
Liste des clés |
d.values() |
Liste des valeurs |
d.items() |
Paires clé/valeur |
d.update(dict2) |
Fusion de dictionnaires |
len(d) |
Nombre de clés |
d1 = {"a": 1}
d2 = {"b": 2}
d1.update(d2) # {"a": 1, "b": 2}
Dictionnaire imbriqué
classe = {
"Alice": {"age": 15, "moyenne": 14},
"Bob": {"age": 16, "moyenne": 12}
}
print(classe["Alice"]["moyenne"]) # 14
classe["Bob"]["moyenne"] += 1
Créer un dictionnaire depuis deux listes
fruits = ["pomme", "banane", "cerise"]
prix = [2.5, 1.8, 3.2]
d = dict(zip(fruits, prix))
print(d)
# {'pomme': 2.5, 'banane': 1.8, 'cerise': 3.2}
Compréhension de dictionnaire
Comme pour les listes, on peut créer un dictionnaire en une ligne :
d = {x: x**2 for x in range(5)}
print(d)
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Résumé
✔ Structure clé → valeur
✔ Création, modification, suppression
✔ Parcours avec .keys(), .values(), .items()
✔ Dictionnaires imbriqués
✔ Génération automatique (zip, compréhension)
Exemple complet
etudiant = {
"nom": "Alice",
"age": 17,
"notes": {"Maths": 15, "Français": 14, "Physique": 16}
}
# 1. Accéder à la note de Physique
print(etudiant["notes"]["Physique"])
# 2. Ajouter une note
etudiant["notes"]["Histoire"] = 13
# 3. Calculer la moyenne
moyenne = sum(etudiant["notes"].values()) / len(etudiant["notes"])
print(f"Moyenne = {moyenne}")