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.

Difficulte:
35 min
+40 XP

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 |

Python
# 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 ?

Pixel