Leçon 7 / 10
Leçon 07 · Partie 2 — Structures et projet
Dictionnaires
Associer des données : clé / valeur
Une liste stocke des valeurs dans un ordre précis, accessibles par numéro. Un dictionnaire stocke des paires clé → valeur. On accède à une valeur par sa clé (un nom), pas par sa position.
Pense à un dictionnaire papier : tu cherches le mot (clé) et tu obtiens sa définition (valeur). Ou pense à une fiche de contact : "nom" → "Emma", "âge" → 17.
Python
# Créer un dictionnaire avec des accolades
joueur = {
"nom": "Emma",
"score": 1450,
"vies": 3,
"actif": True
}
print(joueur)
# {'nom': 'Emma', 'score': 1450, 'vies': 3, 'actif': True}
Accéder à une valeur
Python
joueur = {"nom": "Emma", "score": 1450}
# Accès direct par clé
print(joueur["nom"]) # Emma
print(joueur["score"]) # 1450
# .get() — plus sûr : retourne None si la clé n'existe pas
print(joueur.get("vies")) # None
print(joueur.get("vies", 3)) # 3 (valeur par défaut)
Utilise .get("clé") plutôt que ["clé"] quand la clé peut ne pas exister.
Accéder à une clé inexistante avec [] génère une erreur KeyError.
Modifier un dictionnaire
Python
joueur = {"nom": "Emma", "score": 1450}
# Modifier une valeur existante
joueur["score"] = 1600
# Ajouter une nouvelle paire clé/valeur
joueur["niveau"] = 5
# Supprimer une clé
del joueur["score"]
print(joueur) # {'nom': 'Emma', 'niveau': 5}
Boucler sur un dictionnaire
Python
contact = {
"nom": "Lucas",
"email": "lucas@exemple.fr",
"tel": "06 12 34 56 78"
}
# Boucler sur les clés
for cle in contact:
print(cle) # nom, email, tel
# Boucler sur les clés ET les valeurs
for cle, valeur in contact.items():
print(f"{cle} : {valeur}")
Dictionnaire de dictionnaires
On peut imbriquer des dictionnaires. Par exemple, une liste de contacts :
Python
carnet = {
"emma": {"email": "emma@mail.fr", "tel": "06 11 22 33 44"},
"lucas": {"email": "lucas@mail.fr", "tel": "07 55 66 77 88"}
}
print(carnet["emma"]["email"]) # emma@mail.fr
Cette structure de carnet de contacts sera au cœur du mini-projet en leçon 10. Garde ça en tête !
// À retenir
- Un dict stocke des paires clé/valeur :
{"clé": valeur}. - Accès :
dict["clé"]oudict.get("clé")(plus sûr). - Ajouter/modifier :
dict["nouvelle_clé"] = valeur. - Supprimer :
del dict["clé"]. - Boucler sur clés et valeurs :
for cle, val in dict.items():