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 :

  1. Immutables : Une fois créé, un tuple ne peut pas être modifié (ajout, suppression ou modification d'éléments).
  2. Ordonnés : Les éléments d'un tuple conservent leur ordre.
  3. 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

  1. 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)
    
  2. 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')
    
  3. Longueur : La fonction len() retourne le nombre d'éléments dans un tuple.

    mon_tuple = (10, 20, 30)
    print(len(mon_tuple))  # Affiche 3
    
  4. 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
    
  5. 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 :

  1. count() : Retourne le nombre d'occurrences d'un élément.

    mon_tuple = (1, 2, 2, 3)
    print(mon_tuple.count(2))  # Affiche 2
    
  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 ?

  1. Performance : Les tuples sont plus rapides que les listes.
  2. Sécurité : Les tuples protègent les données car elles ne peuvent pas être modifiées par accident.
  3. Clarité : Les tuples peuvent signaler que les données qu'ils contiennent sont fixes.
  4. Clés de dictionnaires : Les tuples peuvent être utilisés comme clés dans un dictionnaire, contrairement aux listes.

Exercices

  1. Création de tuples
    Créez un tuple contenant vos trois couleurs préférées et affichez-le.

  2. Immutabilité
    Essayez de modifier un élément d'un tuple et observez l'erreur.

  3. 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.

  4. Slicing
    Donné un tuple (0, 1, 2, 3, 4, 5, 6), extrayez les éléments de l'index 2 à 5.

  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.

  6. 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.