%% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %% > [!nav] > ↩ [[Code et Développement/Programmation/Lecture de Code - Python/Lecture de code - Python|Accueil · Lecture de code - Python]] > > | [[Code et Développement/Programmation/Lecture de Code - Python/08_tranches_sequences\|← Tranches et séquences]] | [[Code et Développement/Programmation/Lecture de Code - Python/10_ensembles\|Ensembles →]] | > |:---|---:| %% nav-fin %% # Tuples Un tuple est une séquence **immuable** (non modifiable) de valeurs, délimitée par des parenthèses. --- ## Création ```python t = (1, 2, 3) t = (42,) # tuple à 1 élément : la virgule est obligatoire t = () # tuple vide t = 1, 2, 3 # les parenthèses sont optionnelles ``` --- ## Accès et slicing La syntaxe est celle des listes. ```python t = (10, 20, 30, 40) t[0] # vaut 10 t[-1] # vaut 40 t[1:3] # vaut (20, 30) len(t) # vaut 4 ``` Un tuple ne se modifie pas. ```python t[0] = 99 # TypeError : un tuple est immuable ``` --- ## Déballage (unpacking) ```python x, y = (3, 7) # x vaut 3, y vaut 7 a, b, c = "abc" # a vaut 'a', b vaut 'b', c vaut 'c' # Échanger deux variables x, y = y, x ``` --- ## Retour de fonctions Une fonction renvoie souvent plusieurs valeurs sous forme de tuple. ```python def min_max(lst): return min(lst), max(lst) mini, maxi = min_max([3, 1, 4, 1, 5]) # mini vaut 1, maxi vaut 5 ``` --- ## Tuple vs liste | | Tuple | Liste | |---|---|---| | Syntaxe | `(1, 2, 3)` | `[1, 2, 3]` | | Modifiable | ❌ non | ✅ oui | | Utilisation | coordonnées, retour de fonction | collection évolutive | ## À vous **À manipuler :** prédisez la sortie, ligne par ligne. ```sq-affiche x, y = 3, 8 x, y = y, x print(x) print(y) print((x, y)) --- saisie: lignes réponse: 8\n3\n(8, 3) explication: x, y = y, x échange les deux valeurs en une seule instruction. print d'un tuple affiche les parenthèses. ``` ```sq-affiche t = (5, 1, 4) a, b, c = t print(a + c) print(t[1:]) print(len((7,))) --- saisie: lignes réponse: 9\n(1, 4)\n1 explication: le déballage range 5, 1 et 4 dans a, b et c. Une tranche d'un tuple est un tuple. (7,) est un tuple à un élément. ``` %% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %% > [!nav] > ↩ [[Code et Développement/Programmation/Lecture de Code - Python/Lecture de code - Python|Accueil · Lecture de code - Python]] > > | [[Code et Développement/Programmation/Lecture de Code - Python/08_tranches_sequences\|← Tranches et séquences]] | [[Code et Développement/Programmation/Lecture de Code - Python/10_ensembles\|Ensembles →]] | > |:---|---:| %% nav-fin %%