Introduction aux tuples

DéfinitionSéquence

En Python, une séquence est un ensemble d'objets (aussi appelé collection) qui sont ordonnées. Les séquences permettent d'accéder à un élément via leur numéro de position dans la séquence.

RemarqueObjets

Un objet en Python est n'importe quel type de donnée. Par exemple, les entiers, les chaînes de caractères et les fonctions sont des objets.

On parle aussi d'éléments.

Il existe deux principaux types de séquences en Python : les tuples et les listes (que nous aborderons ultérieurement).

DéfinitionTuple

En Python, un tuple (ou n-uplet) est une séquence qui contient n objets. On peut créer un tuple en listant les objets, séparés par des virgules, entre parenthèses.

Exemple

1
t = (3, 8, "car", 2.4)  # 4-uplet / quadruplet
2
u = (1, 9)  # 2-uplet / couple
3
v = 3, 9, 2.8  # 3-uplet / triplet

Dans cet exemple, nous avons créé trois tuples de tailles différentes. Comme on peut le voir, il est possible de créer un tuple sans utiliser de parenthèses, mais dans la pratique on utilisera majoritairement des parenthèses. On peut vérifier la création des tuples grâce à la fonction type().

1
t = ()
2
u = (1)
3
v = (1, 2)
4
5
print(type(t))  # <class 'tuple'>
6
print(type(u))  # <class 'int'>
7
print(type(v))  # <class 'tuple'>

Il semble impossible de créer un tuple contenant un seul objet car la parenthèse est interprétée comme une parenthèse mathématique.

Pour créer un tuple de taille 1, il faudra rajouter une virgule après l'objte pour indiquer qu'il est stocké dans un tuple :

1
u = (1,)
2
print(type(u))  # <class 'tuple'>

AttentionTypes des éléments des tuples

Bien qu’il soit possible de stocker des objets de types différents dans un même tuple, il est préférable d’éviter cette pratique. On préférera des tuples contenant des objets du même type.

1
t = (1, 7, 2, 9, 17)  # OUI
2
u = (3, 5.2, "mots")  # NON

ComplémentUtilisation des tuples dans les fonctions

Les tuples sont très utiles pour renvoyer plusieurs valeurs dans une fonction. En effet, l'instruction return en Python ne permet de renvoyer qu'un seul objet. On peut donc renvoyer un tuple contenant plusieurs objets.

1
def fonction_x(n):
2
    ...
3
    return (1, 4, 7)  # Avec parenthèses
4
5
def fonction_y(n):
6
    ...
7
    return 1, 4, 7  # Sans parenthèses, plus souvent utilisé

Maintenant que nous avons appris à créer des tuples, nous devons apprendre à lire les données qu'ils contiennent, et plus généralement, à lire les données contenues dans les séquences.