1.
Définition et caractéristiques
Un u-plet (ou tuple en anglais) est une structure de données immuable (non modifiable) qui
permet de stocker plusieurs valeurs dans un même objet.
On peut le voir comme une liste figée : une fois créé, on ne peut plus ajouter, supprimer ni
modifier ses éléments.
t = (3, 5, 8)
2. Création d’un tuple
Avec des parenthèses :
t = (1, 2, 3)
Sans parenthèses (Python l’interprète automatiquement) :
t = 1, 2, 3
Pour un tuple à un seul élément :
t = (5,) # la virgule est obligatoire
3. Accès aux éléments
L’accès se fait par indice (comme pour les listes), en commençant à 0.
t = ('Lundi', 'Mardi', 'Mercredi')
print(t[0]) # Lundi
print(t[-1]) # Mercredi
Les tranches (slices) fonctionnent aussi :
print(t[0:2]) # ('Lundi', 'Mardi')
4. Immutabilité
Un tuple ne peut pas être modifié :
t = (1, 2, 3)
t[0] = 5 # ❌ Erreur : TypeError
Mais on peut créer un nouveau tuple à partir d’anciens :
t = (1, 2, 3)
t = (0,) + t # (0, 1, 2, 3)
5. Parcours d’un tuple
for jour in ('Lundi', 'Mardi', 'Mercredi'):
print(jour)
6. Fonctions et opérations utiles
Fonction / opérateur Description Exemple
len(t) Nombre d’éléments len((1,2,3)) → 3
Fonction / opérateur Description Exemple
min(t), max(t) Valeur min / max min((4,1,7)) → 1
sum(t) Somme (si nombres) sum((2,4,6)) → 12
t1 + t2 Concaténation (1,2)+(3,) → (1,2,3)
t * n Répétition (1,)*3 → (1,1,1)
x in t Appartenance 2 in (1,2,3) → True
[Link](x) Position de x (10,20,30).index(20) → 1
[Link](x) Nombre d’occurrences (1,1,2).count(1) → 2
7. Décomposition et affectation multiple
Les tuples sont très pratiques pour le déballage de valeurs :
a, b, c = (1, 2, 3)
print(a, b, c) # 1 2 3
On peut aussi échanger des variables simplement :
x, y = 5, 10
x, y = y, x
print(x, y) # 10 5
8. Tuples imbriqués
Un tuple peut contenir d’autres tuples :
t = ((1, 2), (3, 4), (5, 6))
print(t[1][0]) # 3
9. Conversion entre tuple et liste
Vers liste :
list((1, 2, 3)) → [1, 2, 3]
Vers tuple :
tuple([1, 2, 3]) → (1, 2, 3)
� Exercices corrigés
Exercice 1 — Création et accès
Énoncé :
Créer un tuple t contenant les jours du week-end, puis afficher le premier jour et le dernier
jour.
Correction :
t = ('Samedi', 'Dimanche')
print("Premier jour :", t[0])
print("Dernier jour :", t[-1])
Exercice 2 — Immutabilité
Énoncé :
Tenter de modifier le 1er élément du tuple (2, 4, 6) et observer le résultat.
Proposer ensuite une méthode correcte pour ajouter la valeur 0 au début.
Correction :
t = (2, 4, 6)
# t[0] = 0 # ❌ provoque une erreur
t = (0,) + t
print(t) # (0, 2, 4, 6)
Exercice 3 — Parcours et calculs
Énoncé :
Soit notes = (12, 15, 9, 18, 14).
1. Afficher toutes les notes.
2. Calculer la moyenne.
Correction :
notes = (12, 15, 9, 18, 14)
for n in notes:
print(n)
moyenne = sum(notes) / len(notes)
print("Moyenne :", moyenne)
Exercice 4 — Décomposition
Énoncé :
Attribuer les valeurs du tuple (2025, 'Novembre', 3) dans les variables annee, mois, jour,
puis les afficher dans une phrase.
Correction :
date = (2025, 'Novembre', 3)
annee, mois, jour = date
print(f"Aujourd'hui nous sommes le {jour} {mois} {annee}.")
Exercice 5 — Tuples et structures imbriquées
Énoncé :
On a la base de données suivante :
etudiants = (('Ali', 15), ('Sara', 18), ('Mehdi', 12))
Afficher le nom et la note de chaque étudiant, puis calculer la note moyenne.
Correction :
etudiants = (('Ali', 15), ('Sara', 18), ('Mehdi', 12))
for nom, note in etudiants:
print(f"{nom} a obtenu {note}")
moyenne = sum(note for _, note in etudiants) / len(etudiants)
print("Moyenne :", moyenne)
Exercice 6 — Application synthèse
Énoncé :
Créer une fonction analyse_tuple(t) qui reçoit un tuple numérique et affiche :
le nombre d’éléments
la somme
la valeur minimale et maximale
la moyenne
Correction :
def analyse_tuple(t):
print("Nombre d’éléments :", len(t))
print("Somme :", sum(t))
print("Min :", min(t))
print("Max :", max(t))
print("Moyenne :", sum(t)/len(t))
analyse_tuple((4, 7, 9, 2, 5))