Skip to content

📚 Cours de NSI : Les dictionnaires en Python


1. Introduction

Les dictionnaires (ou tableaux associatifs) sont des structures de donnĂ©es permettant de stocker des couples clĂ© : valeur. Contrairement aux listes qui sont indexĂ©es par des entiers (0, 1, 2...), les dictionnaires sont indexĂ©s par des clĂ©s (qui peuvent ĂȘtre des chaĂźnes de caractĂšres, des nombres, etc.).

C'est une structure essentielle qui fonctionne comme un vrai dictionnaire papier : on cherche un mot (la clé) pour obtenir sa définition (la valeur).


2. Création d'un dictionnaire

➀ Syntaxe

Un dictionnaire se définit avec des accolades {}. Chaque élément est une paire clé : valeur, séparée par une virgule.

# Dictionnaire vide
vide = {}

# Dictionnaire représenant une personne
perso = {
    "nom": "Bond",
    "prenom": "James",
    "agent": 7
}

# Dictionnaire avec des types variés
notes = {
    "maths": 15,
    "anglais": 18,
    "sport": 12
}

➀ ClĂ©s et Valeurs

  • Les clĂ©s doivent ĂȘtre uniques et de type immuable (str, int, float, tuple...).
  • Les valeurs peuvent ĂȘtre de n'importe quel type (str, int, liste, autre dictionnaire...).

3. AccĂšs aux valeurs

On accÚde à une valeur en utilisant sa clé entre crochets [].

print(perso["nom"])    # Affiche "Bond"
print(notes["maths"])  # Affiche 15

⚠ Attention : Si la clĂ© n'existe pas, Python renvoie une erreur KeyError. Pour Ă©viter cela, on peut utiliser la mĂ©thode .get() :

print(perso.get("age"))        # Affiche None (pas d'erreur)
print(perso.get("age", 18))    # Affiche 18 (valeur par défaut)

4. Modification et ajout

Les dictionnaires sont mutables (modifiables). On peut changer la valeur associée à une clé existante ou créer une nouvelle paire.

# Modification d'une valeur existante
perso["agent"] = "007" 

# Ajout d'une nouvelle clé
perso["ville"] = "Londres"
perso["actif"] = True

print(perso)
# {'nom': 'Bond', 'prenom': 'James', 'agent': '007', 'ville': 'Londres', 'actif': True}

5. Suppression

Il existe plusieurs façons de retirer des éléments :

# del : supprime une paire par sa clé
del perso["actif"]

# pop() : supprime la clé et renvoie la valeur supprimée
ville = perso.pop("ville") 
# ville vaut "Londres", et la clé "ville" n'est plus dans le dictionnaire

6. Parcours d'un dictionnaire

Comme les listes, on peut parcourir un dictionnaire avec une boucle for.

➀ Parcourir les clĂ©s (comportement par dĂ©faut)

for matiere in notes:
    print(matiere)
# Affiche : maths, anglais, sport

➀ Parcourir les valeurs avec .values()

for note in notes.values():
    print(note)
# Affiche : 15, 18, 12

➀ Parcourir les couples (clĂ©, valeur) avec .items()

C'est souvent la méthode la plus utile.

for matiere, note in notes.items():
    print(f"En {matiere}, la note est {note}")

7. Appartenance (in)

Pour vérifier si une clé est présente dans le dictionnaire :

if "maths" in notes:
    print("La note de maths est présente")

8. Méthodes utiles

Méthode RÎle Exemple
len(d) Nombre de paires len(notes) → 3
d.keys() Liste des clés notes.keys()
d.values() Liste des valeurs notes.values()
d.items() Liste des couples notes.items()
d.clear() Vide le dictionnaire d.clear()

9. Comparaison Liste vs Dictionnaire

Caractéristique Liste (list) Dictionnaire (dict)
Syntaxe [val1, val2] {cle1: val1, cle2: val2}
AccÚs Par indice L[0] Par clé D["nom"]
Ordre Ordonné Ordonné (depuis Python 3.7)
Recherche Lente (parcours complet) TrÚs rapide (immédiat)
Usage Collections d'éléments Association de données
Accueil