Aller au contenu

Introduction aux tuples

😊 Nous allons faire une petite digressions dans ce chapitre consacré aux tableaux, pour parler d'une autre structure de donnée linéaire : les tuples.

Nous les utilserons en effet dans quelques exercices dans ce cours, et vous aurez vite compris comment cela fonctionne.

I. Présentation⚓︎

Exemples

🐍 Script Python
tuple_1 = (2, 1, 7, 0)  # Un tuple de nombres entiers
tuple_2 = ("Alice", "Bob", "Charles")  # Un tuple de str

Présentation des tuples

Un tuple (en français p-uplet) est un ensemble de valeurs, regroupées en un seul objet. Cela ressemble donc beaucoup aux listes, mais la différence est qu'on ne peux pas modifier les éléments d'un tuple.

Syntaxe

Un tuple contient des valeurs, séparées par des virgules, mais encadrées par des parenthèses, ( ) ce qui le différencie d'une liste.

Exemple

🐍 Script Python
tuple_1 = (2, 1, 7, 0) # tuple_1 est un tuple de nombres entiers
tuple_2 = ("albert", "paul", "jacques") # tuple_2 est un tuple de `str`
tuple_3 = ("1G4","NSI", 22, 13.7, True) # tuple_3 contient des éléments de différents types. 
ma_liste = [2, 1, 7, 0] # ma_liste est une **liste** de nombres entiers

Les types des tuples

Les tuples sont de type tuple

Indices

Les éléments d'un tuples sont indicés de la même façon que ceux d'une liste (indice 0 pour le premier élément).

Les tuples sont immuables

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

A savoir

Il est impossible de modifier les éléments d'un tuple.

Syntaxes communes avec celles utilisées pour les listes

Les tuples, sont comme les listes, des séquences. Les syntaxes pour la longueur de la séquences (len), ou pour les parcours par indices ou par valeurs sont identiques.

Exercice 1

Compléter le script ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Solution
🐍 Script Python
for i in range(len(amis)):
    print(amis[i])
Exercice 2

Compléter le script ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Solution
🐍 Script Python
for ami in amis:
    print(ami)

II. QCM⚓︎

QCM

Cocher toutes les affirmations correctes pour chaque question.

On considère :

🐍 Script Python
prix = [3, 5, 2, 1, 6]
produits = ('cahier', 'livre', 'stylo', 'gomme', 'feutres')

Que se passe-t-il si on exécute :

Un QCM sur les tuples

  1. print(prix[0])

    • 3

    • un message d'erreur

    • 0

    • 6

  2. print(produits(1))

    • cahier

    • livre

    • un message d'erreur

    • 1

  3. print(produits[1])

    • cahier

    • livre

    • un message d'erreur

    • 1

  4. prix[4] = 5

    • prix devient [3, 5, 2, 1, 5]

    • prix devient [3, 5, 2, 5, 6]

    • un message d'erreur

  5. produits[4] = 'stylos'

    • produits devient ('cahier', 'livre', 'stylo', 'gomme', 'stylos')

    • produits devient ('cahier', 'livre', 'stylo', 'stylos', 'feutres')

    • un message d'erreur