Les listes
Objectifs de la section
2-3 Manipulation de tableaux et dictionnaires de données
Temps requis
40 minutes
Une liste de données permet de positionner plusieurs données dans une même variable. Elles sont utiles pour traiter des données multiples liées entre elles. Prenons l'exemple du calcul d'une moyenne : on peut définir une variable par donnée dans notre échantillon. Cependant, nous deviendrons rapidement limités si l'on doit traiter 100 données ou même 1000 données ! Une liste permettra de contenir et manipuler facilement un nombre très élevé de données.
Pour définir une liste, on place entre crochets carrés [ ]
les valeurs que l'on sépare par des virgules. Sur plusieurs claviers, ils sont accessibles avec les touches Alt Car et celles à côté de la lettre P.
Définition d'une liste | |
---|---|
Accéder aux éléments d'une liste
Sections 8.1
Les éléments d'une liste sont numérotés avec un système appelé indice (en anglais index). Le premier élément d'une liste a l'indice 0 et le dernier à l'indice n-1 avec n le nombre d'éléments de la liste.
Accéder et modifier les éléments d'une liste | |
---|---|
Pour connaître le nombre d'éléments dans une liste, il faut utiliser la fonction len
qui retourne le nombre d'éléments de la liste passée en paramètres.
Indices négatifs
On peut aussi utiliser des indices négatifs pour accéder aux éléments à partir de la fin de la liste.
Accéder et modifier les éléments d'une liste à partir de la fin | |
---|---|
Égalité de liste
On peut comparer deux listes avec l'opérateur d'égalité ==
. Les listes sont égales que si tous les éléments aux mêmes positions sont égaux.
Parcourir une liste
Sections 8.4
Ce qui est intéressant avec une liste est de traiter chacune de ces valeurs. Imaginons que l'on souhaite prendre la moyenne de la liste valeurs
. Il ne serait pas très intéressant de lister les indices un à la fois... On peut plutôt utiliser les boucles pour itérer dans un tableau.
Parcourir une liste avec les indices | |
---|---|
Opérateur d'appartenance
Pour tester si un élément appartient dans une liste, on utilise l'opérateur in
. L'opérateur retourne True
si l'élément est dans la liste, False
sinon.
Ajouter des éléments dans une liste | |
---|---|
On peut utiliser la boucle for
pour parcourir directement les éléments d'une liste en utilisant l'opérateur in
sur la liste plutôt que sur la liste des indices.
Parcourir une liste avec les valeurs | |
---|---|
Manipuler une liste existante
Diverses fonctions permettent de modifier la structure d'une liste existante, soit en ajoutant, en retirant des éléments ou en triant les données. Il est aussi possible de rechercher la présence de certaines valeurs dans une liste.
Ajouter des éléments
Sections 8.3
On peut ajouter des éléments dans une liste de trois façons différentes :
- Ajouter un élément en fin de liste avec la fonction
append
; - Insérer un élément à une position déterminée dans une liste avec la fonction
insert
; - Fusionner deux listes avec la fonction
extend
.
Exemple de problème avec l'ajout d'éléments dans un tableau
# Demander le nom des personnes d'une équipe de travail
equipe = [] # Création d'une liste vide
nom_saisi = "Non vide"
while nom_saisi != "":
nom_saisi = input("Quel est le nom de la personne [retour pour arrêter] : ")
if nom_saisi != "":
equipe.append(nom_saisi)
print(f"L'équipe est : {equipe}")
Retirer des éléments
Sections 9.3
Pour retirer des éléments dans une liste, on peut utiliser trois façons différentes de le faire :
- Retirer un élément par son indice avec la fonction
pop
; - Retirer un élément par sa valeur avec la fonction
remove
; - Retirer tous les éléments d'une liste avec la fonction
clear
Retirer des éléments dans une liste | |
---|---|
Exemple de problème avec le retrait d'éléments dans un tableau
Afficher les nombres en ordre décroissant | |
---|---|
Trouver un élément dans une liste
Sections 9.2
Pour trouver un élément dans une liste, on peut procéder de deux façons :
- Trouver l'indice du premier élément qui possède la valeur avec la fonction
index
; - Compter le nombre d'occurrences d'un élément avec la fonction
count
.
L'index d'un élément qui n'existe pas
Si un élément n'existe pas, une exception est levée, un message en rouge s'affiche dans la console et l'exécution de votre programme est suspendue.
Exemple de problème avec la recherche d'éléments
Vérifier la proportion de bases nucléiques dans un fragment d'ADN | |
---|---|
Trier et inverser les éléments d'une liste
Il existe deux méthodes pour changer l'ordre des éléments dans une liste :
- Les trier en ordre croissant avec la fonction
sort
. - Inverser l'ordre des éléments avec la fonction
reverse
. - Inverser deux éléments avec les indices.
Les autres types de changements demandent de
Exemple de problème avec la recherche d'éléments
Trouver la médiane | |
---|---|
Exercices
Page 147 et suivantes
Recommandés : 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8 (sans utiliser la fonction index
), 8.12, 8.14 (sans utiliser la fonction sum
), 8.15, 8.18, 8.24, 8.25
Supplémentaires : 8.9, 8.11 (sans utiliser la fonction extend
), 8.13 (sans utiliser la fonction count
), 8.16 (sans utiliser la fonction inverse
), 8.21, 8.23
Page 173 et suivantes
Recommandés : 9.4, 9.5, 9.6, 9.7, 9.9, 9.10, 9.11 a et b, 9.19, 9.20
Supplémentaires : 9.11 a et b, 9.12, 9.17