Les tuples python

Un tuple est une liste qui ne peut plus être modifiée.

Créer un tuple

Pour créer un tuple, vous pouvez utiliser la syntaxe suivante:

>>> mon_tuple = ()

Ajouter une valeur à un tuple

Pour créer un tuple avec des valeurs, vous pouvez le faire de cette façon:

>>> mon_tuple = (1, "ok", "olivier")

Les parenthèses ne sont pas obligatoires mais facilite la lisibilité du code (rappelons que la force de python est sa simplicité de lecture):

>>> mon_tuple = 1, 2, 3
>>> type(mon_tuple)
<type 'tuple'>

Lorsque vous créez un tuple avec une seule valeur, n'oubliez pas d'y ajouter une virgule, sinon ce n'est pas un tuple.

>>> mon_tuple = ("ok")
>>> type(mon_tuple)
<type 'str'>
>>> mon_tuple = ("ok",)
>>> type(mon_tuple)
<type 'tuple'>

Afficher une valeur d'un tuple

Le tuple est une sorte de liste, on peut donc utiliser la même syntaxe pour lire les données du tuple.

>>> mon_tuple[0]
1

Et évidemment si on essaie de changer la valeur d'un index, l'interpreteur nous insulte copieusement:

>>> mon_tuple[1] = "ok"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

A quoi sert un tuple alors?

Le tuple permet une affectation multiple:

>>> v1, v2 = 11, 22
>>> v1
11
>>> v2
22

Il permet également de renvoyer plusieurs valeurs lors d'un appel d'une fonction:

>>> def donne_moi_ton_nom():
...     return ("olivier", "engel")
... 
>>> donne_moi_ton_nom()
('olivier', 'engel')

On utilisera un tuple pour définir des sortes de constantes qui n'ont donc pas vocation à changer.