Python : Les collections
list, tuple, dict et set : les quatre structures de données de base, leurs différences et leurs usages.
Python : Les collections
Quatre structures de base, à bien distinguer par deux critères : ordonnée ou non, et modifiable (mutable) ou non.
| Type | Ordonnée | Modifiable | Pour quoi |
|---|---|---|---|
list | oui | oui | une séquence d'éléments qui évolue |
tuple | oui | non | un groupe figé de valeurs |
dict | oui (insertion) | oui | associer une clé à une valeur |
set | non | oui | des éléments uniques |
# La liste (list)
La structure la plus utilisée : ordonnée et modifiable.
nombres = [1, 2, 3]
nombres.append(4) # [1, 2, 3, 4]
nombres[0] # 1 (accès par index)
nombres[-1] # 4 (index négatif : depuis la fin)
nombres[1:3] # [2, 3] (slicing)
len(nombres) # 4nombres = [1, 2, 3]nombres.append(4) # [1, 2, 3, 4]nombres[0] # 1 (accès par index)nombres[-1] # 4 (index négatif : depuis la fin)nombres[1:3] # [2, 3] (slicing)len(nombres) # 4Le slicing [début:fin] (fin exclue) marche aussi sur les chaînes.
# Le tuple
Comme une liste, mais immuable : une fois créé, on ne peut plus le modifier.
point = (1, 2)
point[0] # 1
# point[0] = 9 # TypeError : le tuple est figé
x, y = point # déballage : x = 1, y = 2point = (1, 2)point[0] # 1# point[0] = 9 # TypeError : le tuple est figé x, y = point # déballage : x = 1, y = 2On l'utilise pour un groupe de valeurs qui vont ensemble et ne doivent pas bouger (coordonnées, retour multiple d'une fonction).
# Le dictionnaire (dict)
Associe une clé à une valeur. Recherche par clé quasi instantanée.
ages = {"Alice": 30, "Bob": 25}
ages["Charlie"] = 40 # ajout
ages["Alice"] # 30
ages.get("Zoe", 0) # 0 (valeur par défaut si absent, sans erreur)
for nom, age in ages.items():
print(f"{nom} : {age}")ages = {"Alice": 30, "Bob": 25}ages["Charlie"] = 40 # ajoutages["Alice"] # 30ages.get("Zoe", 0) # 0 (valeur par défaut si absent, sans erreur) for nom, age in ages.items(): print(f"{nom} : {age}") ages["Zoe"] sur une clé absente lève une KeyError. Préfère .get(cle, defaut) quand la clé peut ne pas exister.
# Le set
Une collection sans doublons, non ordonnée. Idéale pour dédoublonner ou tester l'appartenance.
vus = {1, 2, 2, 3} # {1, 2, 3} (le doublon disparaît)
vus.add(4)
3 in vus # True (test d'appartenance rapide)
a = {1, 2, 3}
b = {2, 3, 4}
a & b # {2, 3} intersection
a | b # {1, 2, 3, 4} union
a - b # {1} différencevus = {1, 2, 2, 3} # {1, 2, 3} (le doublon disparaît)vus.add(4)3 in vus # True (test d'appartenance rapide) a = {1, 2, 3}b = {2, 3, 4}a & b # {2, 3} intersectiona | b # {1, 2, 3, 4} uniona - b # {1} différence# La suite
- Structures de contrôle - parcourir ces collections avec des boucles
- Les fonctions - les manipuler proprement
- Python : Introduction - le hub de la série