OUJOOD.COM
Qu'est-ce qu'un tuple ?
Un tuple sert à stocker plusieurs éléments dans une seule variable, comme une liste. La différence clé : un tuple est immuable — on ne peut pas modifier, ajouter ou supprimer ses éléments après sa création. On l'écrit avec des parenthèses.
# Créer un tuple avec des parenthèses matuple = ("cahier", "livre", "stylo") print(matuple) print(type(matuple)) # <class 'tuple'>
Propriétés d'un tuple
Les éléments d'un tuple sont ordonnés (leur position est fixe), immuables (on ne peut pas les modifier après création) et ils autorisent les doublons puisque chaque élément est identifié par son index.
# Les tuples autorisent les valeurs dupliquées
matuple = ("cahier", "livre", "stylo", "cahier", "règle", "livre")
print(matuple)
print("Ce tuple contient " + str(len(matuple)) + " éléments")
Tuple à un seul élément
Pour créer un tuple contenant un seul élément, il faut ajouter une virgule après la valeur. Sans cette virgule, Python interprète les parenthèses comme un simple regroupement d'expression, pas comme un tuple.
# La virgule est obligatoire pour un tuple à un seul élément matuple = ("cahier",) print(type(matuple)) # <class 'tuple'> # Sans virgule : Python voit une chaîne entre parenthèses, pas un tuple pas_un_tuple = ("cahier") print(type(pas_un_tuple)) # <class 'str'>
Types de données dans un tuple
Un tuple peut contenir des éléments de n'importe quel type, et même mélanger les types au sein d'un même tuple.
# Tuples homogènes matuple1 = ("cahier", "livre", "stylo") matuple2 = (1, 2, 3, 4, 5) matuple3 = (True, False) # Tuple mixte : chaînes, entiers et booléens matuple = ("cahier", 102, "livre", False, 12, "règle", True) print(matuple)
Créer un tuple avec le constructeur tuple()
On peut aussi créer un tuple avec la fonction tuple(). On lui passe un itérable entre parenthèses (double parenthèses au total : une pour la fonction, une pour le tuple).
# Création via le constructeur tuple()
matuple = tuple(("cahier", "livre", "stylo", "règle"))
print(matuple)
Accéder aux éléments
On accède aux éléments d'un tuple via leur index entre crochets. L'index commence à 0. Les index négatifs comptent depuis la fin : -1 désigne le dernier élément.
matuple = ("cahier", "livre", "stylo", "règle")
print(matuple[2]) # stylo (index 2)
print(matuple[-1]) # règle (dernier élément)
Extraire une plage d'éléments (slicing)
Comme pour les listes, on peut extraire une portion d'un tuple avec la syntaxe tuple[debut:fin]. La borne de fin est exclue.
matuple = ("cahier", "livre", "stylo", "cahier", "règle", "livre")
# Du 3e au 5e élément (index 2 inclus, index 5 exclu)
print(matuple[2:5])
# Depuis le début jusqu'à l'index 4 (exclu)
print(matuple[:4])
# Depuis l'index 2 jusqu'à la fin
print(matuple[2:])
# Index négatifs : de -4 inclus à -1 exclu
print(matuple[-4:-1])
Vérifier la présence d'un élément
L'opérateur in vérifie si une valeur est présente dans un tuple.
matuple = ("cahier", "livre", "stylo", "cahier", "règle", "livre")
if "règle" in matuple:
print("'règle' est dans le tuple")
Modifier un tuple : contournement via liste
Un tuple est immuable : on ne peut pas modifier ses valeurs directement. La solution courante consiste à le convertir en liste, effectuer les modifications, puis reconvertir en tuple.
matuple = ("cahier", "livre", "stylo", "cahier", "règle", "livre")
# Convertir en liste, modifier, reconvertir en tuple
y = list(matuple)
y[1] = "cartable"
matuple = tuple(y)
print(matuple)
Ajouter des éléments
Les tuples n'ont pas de méthode append(). Pour ajouter un élément, on peut convertir en liste ou concaténer deux tuples avec +=.
matuple = ("cahier", "livre", "stylo", "règle")
# Ajouter un élément en concaténant un tuple à un élément
y = ("cartable",) # Virgule obligatoire pour que ce soit un tuple
matuple += y
print(matuple)
Supprimer un tuple
On ne peut pas supprimer un élément précis d'un tuple (même contournement via liste). En revanche, del supprime le tuple entier.
matuple = ("cahier", "livre", "stylo", "règle")
del matuple
# print(matuple) provoquerait une erreur : le tuple n'existe plus
Déballer un tuple
Le déballage (unpacking) consiste à extraire les valeurs d'un tuple directement dans des variables séparées. Le nombre de variables doit correspondre au nombre d'éléments, sauf si on utilise l'astérisque * pour regrouper le reste.
matuple = ("stylo", "cahier", "cartable", 12)
# Déballage classique : autant de variables que d'éléments
(outil, papier, sac, nombre) = matuple
print(outil) # stylo
print(nombre) # 12
# Avec * : les éléments restants vont dans une liste
matuple2 = ("stylo", "cahier", "cartable", 12, 25)
(outil, papier, *reste) = matuple2
print(reste) # ['cartable', 12, 25]
print(type(reste)) # <class 'list'>
Parcourir un tuple
On parcourt un tuple avec une boucle for, via les index avec range(len()), ou avec une boucle while.
matuple = ("stylo", "cahier", "cartable", 12, 25)
# Parcours direct
for x in matuple:
print(x)
# Parcours par index
for i in range(len(matuple)):
print(matuple[i])
# Parcours avec while
i = 0
while i < len(matuple):
print(matuple[i])
i = i + 1
Fusionner et multiplier des tuples
L'opérateur + concatène deux tuples en un nouveau. L'opérateur * répète le contenu d'un tuple un nombre de fois donné.
matuple1 = ("stylo", "cahier", "cartable")
matuple2 = (12, 25, 36)
# Concaténation
matuple = matuple1 + matuple2
print(matuple)
# Répétition
matuple3 = matuple1 * 2
print(matuple3)
Par carabde | Mis à jour le 24 avril 2026