Structures de données
Le bon outil pour le bon job. Choisir une liste pour chercher dans 1 million d'éléments, c'est cinéma.
Cours
Tuple (immutable)
t = (1, 2, 3)
t[0] # 1
# t[0] = 5 → ERREUR
Liste (mutable, ordonnée)
L = [1, 2, 3]
L.append(4)
L.pop() # supprime et renvoie le dernier
L.insert(0, 'a')
Accès O(1), recherche O(n).
Dictionnaire (clé → valeur)
d = {"nom": "Alice", "age": 17}
d["age"] # 17
d["nouvelle"] = 5
"nom" in d # True
Accès O(1) en moyenne. Magique.
Ensemble (set, sans doublons)
s = {1, 2, 3, 2} # → {1, 2, 3}
s.add(4)
3 in s # True
Quand utiliser quoi ?
| Besoin | Structure |
|---|---|
| Ordre important, modifs | liste |
| Constant, hashable | tuple |
| Recherche par clé | dict |
| Unicité, appartenance rapide | set |
Méthodes
Choisir une structure
- 1Recherche par clé fréquente ? → dict
- 2Unicité importante ? → set
- 3Données fixes (coordonnées, etc.) ? → tuple
- 4Sinon → liste
Astuces & pièges
Pour vérifier si un élément est présent dans une grande collection, utilise un set : O(1) au lieu de O(n) pour une liste.
Les dicts et sets utilisent le HASH des clés. Donc clés doivent être immutables (pas de liste comme clé).
Teste-toi
1.Structure pour cherher rapidement par clé :
2.{1,2,2,3} renvoie :
Exercices corrigés
Tu galères ? Normal. Cherche d'abord, regarde le corrigé après.
Différence entre liste, tuple, dictionnaire en Python ?
Écrire une fonction qui compte le nombre d'occurrences de chaque lettre dans une chaîne (dictionnaire).
Pour aller plus loin
Vidéos, fiches et exos vérifiés (Maths et tiques, Lumni, Khan Academy, Physagreg…).