Les tuples en Python
Introduction aux tuples
Un tuple est une structure de données en Python qui permet de stocker une collection d'éléments. Cette structure de données ressemble beaucoup aux listes, mais contrairement à une liste, un tuple est immutable, c'est-à-dire que ses éléments ne peuvent pas être modifiés après sa création. Les tuples sont souvent utilisés lorsque vous voulez regrouper plusieurs valeurs sans risquer de les modifier par accident.
Caractéristiques principales des tuples :
- Immutables : Une fois créé, un tuple ne peut pas être modifié (ajout, suppression ou modification d'éléments).
- Ordonnés : Les éléments d'un tuple conservent leur ordre.
- Les tuples peuvent contenir des éléments de types différents (nombres, chaînes, listes, autres tuples, etc.).
Syntaxe de base
Un tuple est défini avec des parenthèses ()
et les éléments sont séparés par des virgules ,
.
Exemple :
# Création de tuples
mon_tuple = (1, 2, 3)
autre_tuple = ("a", "b", "c")
tuples_mixtes = (1, "Python", [10, 20])
Un tuple contenant un seul élément doit inclure une virgule pour éviter toute confusion :
mon_tuple = (42,) # Tuple contenant un seul élément
Opérations de base sur les tuples
Accès aux éléments
Les éléments d'un tuple sont accessibles via leur index, en utilisant la notation []
. L'indexation commence à 0.
Exemple :
tuples_mixtes = (1, "Python", [10, 20])
print(tuples_mixtes[0]) # Affiche 1
print(tuples_mixtes[1]) # Affiche "Python"
L'indexation négative est aussi possible :
print(tuples_mixtes[-1]) # Affiche [10, 20]
Immutabilité
Contrairement aux listes, on ne peut pas modifier directement les éléments d'un tuple :
mon_tuple = (1, 2, 3)
mon_tuple[0] = 10 # Erreur : les tuples sont immuables
Cependant, si un tuple contient des éléments mutables comme une liste, ces éléments peuvent être modifiés :
tuples_mixtes = (1, "Python", [10, 20])
tuples_mixtes[2][0] = 99 # Cela modifie la liste interne
print(tuples_mixtes) # Affiche (1, 'Python', [99, 20])
Opérations communes
Concaténation : Les tuples peuvent être concaténés avec l'opérateur
+
.tuple1 = (1, 2) tuple2 = (3, 4) resultat = tuple1 + tuple2 print(resultat) # Affiche (1, 2, 3, 4)
Répétition : Un tuple peut être répété avec l'opérateur
*
.tuple1 = ("a", "b") print(tuple1 * 3) # Affiche ('a', 'b', 'a', 'b', 'a', 'b')
Longueur : La fonction
len()
retourne le nombre d'éléments dans un tuple.mon_tuple = (10, 20, 30) print(len(mon_tuple)) # Affiche 3
Appartenance : L'opérateur
in
permet de vérifier si un élément est présent dans un tuple.mon_tuple = (1, 2, 3) print(2 in mon_tuple) # Affiche True
Indexation et découpage : Comme les listes, les tuples supportent le slicing.
mon_tuple = (0, 1, 2, 3, 4) print(mon_tuple[1:4]) # Affiche (1, 2, 3)
Méthodes disponibles pour les tuples
Bien que les tuples soient immuables, ils offrent quelques méthodes utiles :
count()
: Retourne le nombre d'occurrences d'un élément.mon_tuple = (1, 2, 2, 3) print(mon_tuple.count(2)) # Affiche 2
index()
: Retourne l'index de la première occurrence d'un élément.mon_tuple = (1, 2, 3, 2) print(mon_tuple.index(2)) # Affiche 1
Pourquoi utiliser des tuples ?
- Performance : Les tuples sont plus rapides que les listes.
- Sécurité : Les tuples protègent les données car elles ne peuvent pas être modifiées par accident.
- Clarité : Les tuples peuvent signaler que les données qu'ils contiennent sont fixes.
- Clés de dictionnaires : Les tuples peuvent être utilisés comme clés dans un dictionnaire, contrairement aux listes.
Exercices
Création de tuples
Créez un tuple contenant vos trois couleurs préférées et affichez-le.Immutabilité
Essayez de modifier un élément d'un tuple et observez l'erreur.Concaténation et répétition
Créez deux tuples différents et concaténez-les. Ensuite, répétez un des tuples trois fois.Slicing
Donné un tuple(0, 1, 2, 3, 4, 5, 6)
, extrayez les éléments de l'index 2 à 5.Analyse d'un tuple
Comptez combien de fois un certain élément apparaît dans un tuple donné, et trouvez l'index de sa première occurrence.Tuple imbriqué
Créez un tuple contenant un autre tuple et accédez aux éléments du tuple imbriqué.
Ce cours présente les concepts essentiels des tuples en Python. Les exercices visent à consolider la compréhension des éléments abordés et à développer une maîtrise pratique.