Un tuple ressemble à une liste, mais il est immuable : on ne peut pas le modifier après création.
Création : avec des parenthèses ( ) et des virgules.
coords = (48.8566, 2.3522) # Paris
point_3d = (1, 2, 3)
singleton = (42,) # ⚠ virgule obligatoire pour 1 élément
vide = ()Ce sont les virgules qui font le tuple, pas les parenthèses :
t = 1, 2, 3 → équivalent à (1, 2, 3)
(1) → c'est juste 1 entre parenthèses, pas un tuple
(1,) → tuple à 1 élément
coords[0] → 48.8566
coords[-1] → 2.3522
coords[:1] → (48.8566,)
len(coords) → 2
48.8566 in coords → Truemais on ne peut pas faire :
coords[0] = 50 ❌ TypeError : tuple ne supporte pas l'assignation
coords.append(0) ❌ AttributeError : pas de méthode appendUn tuple peut être directement déballé dans plusieurs variables :
coords = (48.8566, 2.3522)
lat, lon = coords # lat = 48.8566, lon = 2.3522# Échanger deux variables en 1 ligne !
a, b = 5, 10
a, b = b, a # a=10, b=5# Une fonction peut renvoyer plusieurs valeurs sous forme de tuple
def min_max(lst):
return min(lst), max(lst)mini, maxi = min_max([3, 7, 1, 9])Liste → collection qui peut changer (ex : panier d'achats)
Tuple → collection fixe, souvent hétérogène (ex : coordonnées GPS, paire clé-valeur, ligne d'une table)Les tuples sont aussi plus rapides et utilisables comme clés de dictionnaire (les listes non).
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →