Les Dictionnaires en Python
Les dictionnaires sont comme des annuaires : au lieu de chercher par position, tu cherches par nom ! Parfait pour stocker des donnees structurees comme un profil utilisateur ou un inventaire de jeu.
Objectifs du cours
- Comprendre ce qu'est un dictionnaire et quand l'utiliser
- Creer un dictionnaire avec des cles et des valeurs
- Acceder, ajouter et modifier des elements
- Parcourir un dictionnaire avec une boucle for
- Utiliser les methodes keys(), values() et items()
Erreurs courantes a eviter
- Confondre les crochets [] (listes) avec les accolades {} (dictionnaires)
- Oublier que les cles doivent etre uniques
- Utiliser une liste comme cle (impossible car non hashable)
- Confondre dict[cle] (acces) avec dict.get(cle) (acces securise)
**Definition simple**
Un dictionnaire associe des **cles** a des **valeurs**. C'est comme un vrai dictionnaire ou chaque mot (cle) a une definition (valeur).
**Analogie du quotidien :**
Imagine un carnet de contacts : - "Alice" → "06 12 34 56 78" - "Bob" → "07 98 76 54 32" - "Charlie" → "06 11 22 33 44"
**En Python, ca donne :**
```python contacts = { "Alice": "06 12 34 56 78", "Bob": "07 98 76 54 32", "Charlie": "06 11 22 33 44" } ```
**Syntaxe de base :**
```python mon_dict = {cle1: valeur1, cle2: valeur2} ```
**Dictionnaire vs Liste :**
| Liste | Dictionnaire | |-------|--------------| | Acces par indice (position) | Acces par cle (nom) | | liste[0] | dict["nom"] | | Ordre d'insertion | Cle unique |
# Creation d'un dictionnaire
eleve = {
"prenom": "Emma",
"age": 15,
"classe": "Seconde",
"moyenne": 14.5,
"est_delegue": True
}
print("=== MON DICTIONNAIRE ===")
print(eleve)
print(f"Type : {type(eleve)}")
# Dictionnaire vide
inventaire = {}
print(f"\nDictionnaire vide : {inventaire}")
# Dictionnaire avec dict()
coordonnees = dict(x=10, y=20, z=5)
print(f"Coordonnees : {coordonnees}")Quiz de validation
1. Comment creer un dictionnaire vide en Python ?
2. Quelle methode permet d'acceder a une valeur sans risque d'erreur ?
3. Que renvoie dict.items() ?
4. Comment ajouter une cle 'email' avec la valeur 'test@mail.com' ?
5. Peut-on utiliser une liste comme cle de dictionnaire ?
