Aller au contenu

Leçon 7

Python, manipuler et parcourir une liste

Vidéo 7 : Python, manipuler et parcourir une liste · 3 min 19 s · sous-titres en français

Le cours écrit

7.1 Changer, ajouter, supprimer

Voici des relevés de pluie, en millimètres, sur quatre jours. Le tableau montre la liste après chaque instruction.

Instruction Effet Liste P obtenue
P = [4, 0, 7, 2] création 4,0,7,24, 0, 7, 2
P[1] = 3 change l'élément d'indice 11 4,3,7,24, 3, 7, 2
P.append(5) ajoute à la fin 4,3,7,2,54, 3, 7, 2, 5
del P[0] supprime l'élément d'indice 00 3,7,2,53, 7, 2, 5
P.remove(2) supprime la valeur 22 3,7,53, 7, 5

Attention. Après del, les éléments suivants se décalent : leurs indices changent. S'il y a plusieurs fois la même valeur, remove ne supprime que la première.

7.2 Parcourir par les indices

range(len(P)) donne tous les indices de la liste.

for i in range(len(P)):
    print(i, P[i])

Avec PP contenant 3,7,53, 7, 5, ce programme affiche les indices et les éléments, ligne après ligne : 0 3, puis 1 7, puis 2 5.

7.3 Itérer sur les éléments

On peut aussi passer directement par les éléments. C'est plus simple quand la place de l'élément n'a pas d'importance.

for x in P:
    print(x)

Ici, x prend les valeurs 33, 77, puis 55. Voici par exemple une fonction qui renvoie le plus grand élément d'une liste.

def maximum(L):
    m = L[0]
    for x in L:
        if x > m:
            m = x
    return m

Ainsi, maximum([3, 7, 5]) renvoie 77.

7.4 Comparer un élément au suivant

Les indices deviennent utiles dès qu'on compare un élément au suivant. Reprenons la suite de l'exemple 12.

>>> L = [n**2 - 6 * n + 1 for n in range(7)]
>>> L
[1, -4, -7, -8, -7, -4, 1]
>>> [L[i + 1] - L[i] for i in range(len(L) - 1)]
[-5, -3, -1, 1, 3, 5]

On retrouve les valeurs de 2n−52n - 5. Le len(L) - 1 vient de ce que le dernier élément n'a pas de suivant.

7.5 Tester si une liste est croissante

def croissante(L):
    for i in range(len(L) - 1):
        if L[i + 1] < L[i]:
            return False
    return True

Dès qu'un élément est suivi d'un plus petit, la fonction renvoie False : un seul contre-exemple suffit. Si la boucle va jusqu'au bout, elle renvoie True. Ainsi, croissante([1, 4, 9, 16]) renvoie True, et croissante([1, -4, -7]) renvoie False.

Attention. Ce test ne porte que sur les termes de la liste. Il ne démontre rien pour la suite entière.

Lire le cours complet du chapitre

Exercices 13 et 14

  • Exercice 13 : suivre une liste
  • Exercice 14 : parcourir une liste

Exercices du chapitre (PDF, 167 Ko)

Corrigés

Cherche d'abord les exercices sur ta feuille, puis compare avec le corrigé détaillé.

Corrigés du chapitre (PDF, 159 Ko)

Tu es hors connexion. Les chapitres téléchargés restent disponibles dans Hors connexion.