Manipulations sur les éléments d’une liste

icône de pdf
Signaler

Lorsqu’une liste a été créée, on peut être amené à effectuer sur ses éléments différentes manipulations, soit à partir de l’index de ces éléments, soit avec leur valeur.

I) Ajouter, modifier ou supprimer un élément

Les méthodes « append » et « extend » permettent d’ajouter ou de modifier un élément dans une liste.

La méthode « insert » permet d’insérer un élément dans une liste.

Exemple : liste5.insert(2, 27) insère 27 à l’index 2 (c’est-à-dire en troisième position) de liste5 et décale les éléments suivants.

Pour supprimer un élément d’une liste d’index déterminé en Python, on utilise « del ».

Exemple : del liste5[1] supprime l’élément d’index 1 (c’est-à-dire le deuxième élément) de liste5.

Pour supprimer un élément d’une valeur donnée, on utilise la méthode de liste « remove ».

Exemple : liste5.remove(1) supprime la première occurrence de la valeur « 1 » dans liste5, pas les éventuelles autres occurrences de cette valeur.

II) Parcourir, itérer ou rechercher dans une liste

Itérer sur les éléments d’une liste :

• sans index, par exemple :

PB_Bac_05285_Math1_TT_p009-032_C01_Algo_5

• avec index, par exemple :

PB_Bac_05285_Math1_TT_p009-032_C01_Algo_6

Accéder à l’élément d’index donné, modifier sa valeur :

• liste6[2] : pour accéder à l’élément d’index 2 de liste6 ;

• liste6[2]=18 donne à l’élément d’index 2 de liste6 la valeur 18.

Mot clé

Cet opérateur est un booléen, c’est-à-dire un type de données qui ne peut prendre que deux valeurs : True (vrai) et False (faux).

Rechercher une valeur dans une liste :

2 in liste6 : renvoie « True » si l’un des éléments de liste6 est 2, « False » sinon.

Étudier les occurrences d’une valeur :

• liste6.count(2) donne le nombre d’occurrences de la ­valeur 2 dans liste6 (renvoie 0 si 2 ne figure pas dans liste6) ;

• liste6.index(2) renvoie l’index de la première occurrence de 2 dans liste6 si 2 figure dans liste6 (sans tenir compte des autres occurrences éventuelles), renvoie un message d’erreur sinon.

Méthode

Supprimer une à une les différentes occurrences d’une valeur dans une liste

On considère la liste (nommée simplement liste) :

[1, 1, 2, 1, 2, 3, 4, 1, 2, 1, 8, 7, 1].

Écrire un programme supprimant un par un dans cette liste les éléments de valeur 1, en affichant à chaque étape la liste obtenue :


a. avec une boucle for ;


b. avec une boucle while.

Conseil

On saisit la liste en extension.


a. On peut utiliser une boucle for exécutée n fois, où n est le nombre d’occurrences de la valeur 1 dans la liste initiale, n étant défini au préalable.

À chaque étape, on demande au programme de supprimer la première occurrence de la valeur 1 ; cette manipulation est effectuée n fois, les occurrences de la valeur 1 sont supprimées une à une (dans l’ordre croissant de leurs index).


b. Si on utilise une boucle while, elle est exécutée tant que la valeur 1 figure dans la liste. Dans ce cas, il n’est pas nécessaire de compter au préalable le nombre d’occurrences du 1.


a. n est le nombre d’occurrences de la valeur 1, et k est un « compteur » qui prend successivement comme valeurs tous les entiers de 0 à n – 1.

PB_Bac_05285_Math1_TT_p009-032_C01_Algo_7

L’instruction « liste.remove(1) » peut être remplacée par la séquence d’instructions :

PB_Bac_05285_Math1_TT_p009-032_C01_Algo_8


b. « liste.count(1)!=0 » signifie « le nombre d’occurrences du 1 dans la liste est différent de 0 ». On peut remplacer « différent de 0 » par « strictement positif ».

PB_Bac_05285_Math1_TT_p009-032_C01_Algo_9

À noter

L’indentation indique que l’instruction d’affichage est dans la boucle.

On demande à chaque étape l’affichage de la liste : on obtient 6 listes successives de plus en plus courtes.