Aller au contenu

Tuples Python

Les tuples par David Latouche⚓︎

Vidéo de David Latouche (3:58)

Tuples en Python⚓︎

A partir des types de base (int, float, etc.), il est possible d’en élaborer de nouveaux. On les appelle des « types construits ».

Un exemple de type construit est le tuple. Il permet de créer une collection ordonnée de plusieurs éléments. En mathématiques, on parle de p-uplet. Par exemple, un triplet est constitué de 3 éléments.

Les tuples ressemblent aux listes, mais on ne peut pas les modifier une fois qu’ils ont été créés.

On dit qu’un tuple n’est pas mutable.

On le définit avec des parenthèses :

▶️ Console
>>> a = (3, 4, 7)
>>> type(a)
<class 'tuple'>

Parfois, les tuples ne sont pas entourés de parenthèses, même s’il s’agit quand même de tuples.

Ainsi, on peut utiliser la notation suivante :

▶️ Console
>>> b, c = 5, 6
>>> b
5
>>> c
6

En fait, cela revient à :

▶️ Console
(b, c) = (5, 6)

Cette syntaxe avec plusieurs variables à gauche du signe = peut aussi être utilisée avec une variable unique à droite si celle-ci contient un tuple.

▶️ Console
>>> a = (3, 4)
>>> u, v = a
>>> u
3
>>> v
4

Comment écrire une fonction qui renvoie un p-uplet ?⚓︎

Il est très facile de créer une fonction qui renvoie un tuple. Il suffit d’indiquer ce tuple après return.

🐍 Editeur
def test():
    return 3, 4
▶️ Console
>>> a = test()
>>> a
(3, 4)
>>> b, c = test()
>>> b
3
>>> c
4

Remarque

Après return, il aurait été possible d’utiliser une notation avec des parenthèses pour le tuple, par exemple return (3, 4).

Comment itérer sur les éléments d’un tuple ?⚓︎

Comme une liste, il est possible de parcourir un tuple avec une boucle for.

🐍 Editeur
for i in a:
    print(i)
Résultat
▶️ Console
3
4

La valeur d’un élément du tuple est obtenue en utilisant la même syntaxe que pour une liste :

▶️ Console
>>> a[0]
3
>>> a[1]
4

Comment créer un tuple qui contient un seul élément ?⚓︎

Si on utilise seulement des parenthèses, on n’obtient pas le résultat escompté.

▶️ Console
>>> a = (3)
>>> a
3
>>> type(a)
int

En effet, les parenthèses sont alors considérées comme celles d’une expression mathématique, comme par exemple dans 3*(4+1).

Pour créer un tuple contenant un seul élément, il faut donc utiliser une syntaxe spécifique qui contient une virgule.

▶️ Console
>>> b = (3,)
>>> b
(3,)
>>> type(b)
<class 'tuple'>

Si on veut récupérer l’unique valeur présente dans le tuple, on va pouvoir utiliser les approches suivantes :

  • Première approche

    ▶️ Console
    >>> c = b[0]
    >>> c
    3
    

  • Deuxième approche

    ▶️ Console
    >>> d, = b
    >>> d
    3
    

La deuxième approche avec une virgule d, = b est plus légère que la syntaxe qui utilise des crochets c = b[0].