De façon plus précise, nous pouvons définir une séquence comme un ensemble fini et ordonné d'éléments.
Il existe deux types de séquences en Python : les tuples et les listes.
En mathématiques, on appelle uplets des "collections ordonnées d'objets". Plus précisément, on appellera n-uple ou n-uplet une collection contenant n objets. Vous trouverez davantage d'informations sur la page Uplet - Wikipedia.
Le terme courant en programmation est l'anglicisme correspondant, le tuple.
(val1, val2, val3)Commençons par un exemple simple :
premier_tuple = (1, 9, 42, 13, 24)
Ainsi, dans la variable premier_tuple, on a :
Pour accéder à ces valeurs, on utilise une notation à base de crochets. Le code ci-dessous permet d'analyser chaque élément du tuple. On remarque que l'on peut sans problème faire cohabiter différents types natifs entre eux au sein d'un même tuple.
mon_tuple = (42, "chat", 12, True)
print(type(mon_tuple), ":", mon_tuple)
print(type(mon_tuple[0]), ":", mon_tuple[0])
print(type(mon_tuple[1]), ":", mon_tuple[1])
print(type(mon_tuple[2]), ":", mon_tuple[2])
print(type(mon_tuple[3]), ":", mon_tuple[3])
<class 'tuple'> : (42, 'chat', 12, True)
<class 'int'> : 42
<class 'str'> : chat
<class 'int'> : 12
<class 'bool'> : True
Reprenons par exemple notre fonction addition(). Nous pouvons la modifier afin qu'au lieu de renvoyer la somme des deux valeurs, elle renvoie un tuple contenant la valeur a, la valeur b, et enfin la somme des deux. Ainsi, nous conservons toute l'information : nous connaissons la somme des deux valeurs, mais nous pouvons également retrouver comment elle a été calculée.
def addition(int_a, int_b):
if type(int_a) == type(int_b) == type(1):
return (int_a, int_b, int_a + int_b)
else:
return "ERREUR DE TYPE"
print(addition(12, 8))
(12, 8, 20)
mon_tuple = (1, 2, 3)
# Essayer de modifier un élément lève une erreur
mon_tuple[1] = 4 # Cela génère une erreur