Listes#

Une liste permet de conserver plusieurs valeurs dans une mĂȘme variable. Elle devient vraiment utile lorsqu’on la parcourt avec une boucle ou lorsqu’on veut mĂ©moriser une sĂ©rie de rĂ©sultats.

DĂšs la seconde

Comprendre une liste#

Créer une liste#

Les Ă©lĂ©ments d’une liste sont Ă©crits entre crochets et sĂ©parĂ©s par des virgules. Ils peuvent ĂȘtre des nombres, du texte ou mĂȘme un mĂ©lange des deux. Ce mĂ©lange est autorisĂ©, mais une liste de valeurs de mĂȘme nature est gĂ©nĂ©ralement plus facile Ă  parcourir, comparer ou calculer.

Exemple
Créer des listes
PrĂȘt
Sortie

  

Un Ă©lĂ©ment peut ĂȘtre ajoutĂ© Ă  melange directement entre les crochets avant une nouvelle exĂ©cution.

Repérer un élément par son indice#

Les indices commencent Ă  0. Dans une liste de quatre Ă©lĂ©ments, les indices sont donc 0, 1, 2 et 3. L’indice -1 dĂ©signe le dernier Ă©lĂ©ment.

-4-3-2-1
L10203040
indice0123
Exemple
Accéder aux éléments
PrĂȘt
Sortie

  

Un indice Ă  corriger#

La liste suivante contient quatre Ă©lĂ©ments. Pourtant, le programme cherche Ă  accĂ©der Ă  l’indice 4.

À corriger
Retrouver le dernier élément
Erreur attendue
Sortie

  
Comment chercher ?

IndexError indique qu’un indice dĂ©passe les limites de la liste. Les quatre Ă©lĂ©ments occupent les indices 0, 1, 2 et 3. Pour viser le dernier Ă©lĂ©ment sans connaĂźtre la longueur de la liste, un indice nĂ©gatif est Ă©galement possible.

Travailler avec une liste#

Parcourir une liste#

Une boucle for peut parcourir directement les Ă©lĂ©ments d’une liste. Il n’est alors pas nĂ©cessaire de manipuler leurs indices.

Exemple
Parcourir une liste
PrĂȘt
Sortie

  

À chaque passage, mot prend la valeur de l’élĂ©ment suivant. Remplace print(mot) par print(len(mot)) pour afficher la longueur de chaque mot.

Calculer à partir d’une liste#

len(L) renvoie le nombre d’élĂ©ments d’une liste. On peut donc additionner les notes avec une boucle puis diviser par leur nombre.

Exemple
Moyenne d’une liste de notes
PrĂȘt
Sortie

  

Avant d’ajouter une note, il est intĂ©ressant de prĂ©voir si la moyenne va augmenter ou diminuer.

Construire une nouvelle liste#

Pour fabriquer la liste des carrĂ©s, on peut partir d’une liste vide puis ajouter un rĂ©sultat Ă  chaque passage de la boucle.

Exemple
Construire les carrés pas à pas
PrĂȘt
Sortie

  

Cette construction fait apparaßtre trois actions : parcourir, calculer, puis ajouter. Python propose aussi une écriture plus compacte, appelée liste en compréhension.

Construction pas Ă  pas
carres = []
for n in range(6):
    carres.append(n**2)
Écriture en comprĂ©hension
carres = [n**2 for n in range(6)]
Exemple
Une liste de carrés
PrĂȘt
Sortie

  

Les deux programmes produisent exactement la mĂȘme liste. La premiĂšre Ă©criture est souvent plus facile Ă  dĂ©composer ; la seconde devient pratique lorsque la transformation est courte.

Une condition peut ĂȘtre ajoutĂ©e pour ne conserver que certaines valeurs.

Exemple
Sélectionner certaines valeurs
PrĂȘt
Sortie

  

Avant l’exĂ©cution, repĂšre le rĂŽle de la variable nombre et prĂ©vois les trois valeurs retenues.

Opérations utiles#

Les opĂ©rations suivantes sont pratiques pour manipuler une liste dĂ©jĂ  construite. Elles peuvent aussi servir de rĂ©fĂ©rence lorsqu’un exercice en a besoin.

Extraire plusieurs éléments#

La syntaxe L[a:b] extrait les Ă©lĂ©ments d’indices a Ă  b-1. Comme avec range, la borne de droite est exclue.

Exemple
Extraire une tranche
PrĂȘt
Sortie

  

Le rĂ©sultat de L[4:8] peut ĂȘtre prĂ©vu avant l’exĂ©cution. Les Ă©critures L[:3] et L[-2:] sont Ă©galement Ă  observer.

Modifier et réunir des listes#

La mĂ©thode append() ajoute un Ă©lĂ©ment Ă  la fin d’une liste existante.

Exemple
Ajouter un élément
PrĂȘt
Sortie

  

Pour ajouter deux autres valeurs, il faut appeler append une fois pour chaque nouvel élément.

L’opĂ©rateur + permet de concatĂ©ner deux listes, c’est-Ă -dire de les placer l’une Ă  la suite de l’autre.

Exemple
Concaténer deux listes
PrĂȘt
Sortie

  

Avec deux listes de mots, la comparaison de L1 + L2 et L2 + L1 montre l’importance de l’ordre.

Rechercher et trier#

index() renvoie la position de la premiùre occurrence d’une valeur.

Exemple
Rechercher un élément
PrĂȘt
Sortie

  

Que se passe-t-il si la valeur cherchĂ©e n’est pas prĂ©sente ? Le message obtenu est utile : index ne peut pas inventer une position.

sorted(L) produit une nouvelle liste triée sans modifier directement L.

Exemple
Trier sans modifier la liste initiale
PrĂȘt
Sortie

  

Les deux affichages montrent que la liste initiale n’a pas changĂ©. Pour conserver la liste triĂ©e, il faudrait par exemple Ă©crire L_triee = sorted(L).

Retirer un élément#

La mĂ©thode remove() retire la premiĂšre occurrence d’une valeur. Elle provoque une erreur si cette valeur n’est pas prĂ©sente : il faut donc parfois vĂ©rifier avant d’agir.

L’expression valeur in liste renvoie True lorsque la valeur est prĂ©sente et False sinon. Elle permet ici d’éviter d’appeler remove sur une valeur absente.

Exemple
Retirer une valeur
PrĂȘt
Sortie

  

Une seule occurrence a disparu. Modifie la valeur recherchĂ©e et observe l’effet de la condition.

Exercices#

Exercice 1

CrĂ©er une liste contenant les nombres 5, 10 et 15, puis l’afficher.

À toi
Une liste de trois nombres
À faire
Sortie

  

Exercice 2

Créer une liste contenant trois mots, puis afficher son dernier élément.

À toi
Dernier mot
À faire
Sortie

  

Exercice 3

Créer deux listes, les concaténer et afficher le résultat.

À toi
Concaténer deux listes
À faire
Sortie

  

Exercice 4

CrĂ©er une liste d’au moins sept nombres, puis afficher les Ă©lĂ©ments d’indices 2 Ă  5 inclus.

À toi
Extraire les indices 2 Ă  5
À faire
Sortie

  

Exercice 5

Construire, en comprĂ©hension, la liste des carrĂ©s des entiers de 1 Ă  10 et l’afficher.

À toi
Carrés de 1 à 10
À faire
Sortie

  

Exercice 6

À partir de valeurs = [4, 11, 7, 18, 2, 13], construire une nouvelle liste ne contenant que les valeurs strictement supĂ©rieures Ă  10. La liste initiale ne doit pas ĂȘtre modifiĂ©e.

À toi
Valeurs supérieures à 10
À faire
Sortie

  

Exercice 7

Dans la liste notes = [12, 8, 15, 8, 17], retirer une seule fois la note 8, puis afficher la liste obtenue.

À toi
Retirer une note
À faire
Sortie

  

Dans le parcours