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 : | • avec index, par exemple : |
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.
conseils
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.
L'instruction « liste.remove(1) » peut être remplacée par la séquence d'instructions :
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 ».
À 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.