En Python, une séquence est une collection ordonnée d’objets qui permet d’accéder à ses éléments par leur numéro de position dans la séquence. Les listes et les tuples sont des séquences.
I. Points communs aux listes et tuples
1) Créer une liste ou un tuple
N’importe quel type d’objet peut être stocké dans une liste ou un tuple.
Listes et tuples peuvent être construits en extension ou en compréhension.
Exemples :
• Liste en extension de quatre entiers :
• Tuple en extension de six objets de types différents :
• Création d’une liste vide :
À noter
Techniquement, on peut stocker des objets de types différents dans une même liste, mais ce n’est souvent pas une bonne pratique.
2) Accéder aux éléments d’une séquence
3) Parcourir une séquence
Une liste ou un tuple est itérable : on peut le parcourir avec une boucle for.
L’affichage est :
Il est aussi très courant d’utiliser une boucle en faisant varier l’indice i des éléments :
L’affichage est :
II. Différences entre listes et tuples
Un tuple est un objet non mutable : on ne peut pas réaffecter ses éléments, ou en ajouter.
Une liste est un objet mutable.
Exemples :
• Ajout d’un élément en fin de liste :
• Modification de l’élément d’indice 1 :
Bien qu’il soit possible de déroger à cette règle, une liste contient de préférences des données de même type, dont le nombre peut varier.
Au contraire, un tuple peut servir à représenter des données définies par un nombre fixe de champs, mais éventuellement de natures différentes.
III. Listes, tuples et fonctions
Tout type de valeur peut être passé en paramètre à une fonction, y compris un tuple ou une liste.
Notons que dans une fonction, il est courant d’écrire return a, b pour « renvoyer plusieurs valeurs ». En réalité, l’écriture a, b est équivalente à (a, b) et construit un tuple. Et c’est cet unique tuple qui est renvoyé.