Tuples, listes et itérations

Signaler

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 :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_6

• Tuple en extension de six objets de types différents :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_7

• Création d’une liste vide :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_8

À 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

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_9

3) Parcourir une séquence

Une liste ou un tuple est itérable : on peut le parcourir avec une boucle for.

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_0

L’affichage est :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_1

Il est aussi très courant d’utiliser une boucle en faisant varier l’indice i des éléments :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_2

L’affichage est :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_3

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 :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_4

• Modification de l’élément d’indice 1 :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_5

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é.