Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Ranger et modifier des éléments dans une liste

La leçon entière est à lire ici. Créez un compte gratuit pour lancer ses commandes dans un laboratoire et passer ses quiz et ses exercices.

Leçon de 45 minAucune commande

Les commandes du matin

Vous travaillez pour une petite boutique de thé en ligne, à Lyon. Ce matin, cinq commandes sont arrivées.

Une sixième arrive par téléphone. Un client en annule une autre. Votre responsable demande combien il en reste.

Dans un programme, ces commandes vivent dans une liste. C’est la structure de données la plus utilisée.

À la fin de cette leçon

Remarque

Je peux stocker des éléments dans une liste et les modifier.

Mots-clés

MotCe que ça veut direExemple
Listedes valeurs rangées dans un ordre["C-1041", "C-1042"]
Élémentune valeur dans la liste
Indicela place d’un élément, à partir de 0commandes[0]
appendajoute un élément à la fincommandes.append("C-1044")
removeretire un élément par sa valeurcommandes.remove("C-1042")
lendonne le nombre d’élémentslen(commandes)

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une liste garde les éléments dans l’ordre

On écrit une liste entre crochets, avec des virgules entre les éléments.

Chaque élément a un indice. Le premier a l’indice 0, le deuxième l’indice 1, et ainsi de suite.

Pour lire un élément, on écrit le nom de la liste puis l’indice entre crochets. L’indice -1 donne le dernier.

À vous : lire la liste

Code: python
# Les commandes reçues ce matin, dans l'ordre d'arrivée.
commandes = ["C-1041", "C-1042", "C-1043", "C-1044", "C-1045"]

print("Nombre de commandes :", len(commandes))
print("Première commande :", commandes[0])
print("Deuxième commande :", commandes[1])
print("Dernière commande :", commandes[-1])

# Affichez la troisième commande : quel indice faut-il ?

Exemple travaillé : les indices

IndiceÉlémentComment le lire
0C-1041commandes[0]
1C-1042commandes[1]
2C-1043commandes[2]
3C-1044commandes[3]
4C-1045commandes[4] ou commandes[-1]

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une liste se modifie

append ajoute un élément à la fin de la liste.

remove retire un élément en donnant sa valeur. Les éléments suivants reculent d’une place.

Pour remplacer un élément, on donne une nouvelle valeur à son indice : commandes[0] = "C-1040".

La liste change sur place. On ne crée pas une nouvelle liste.

À vous : ajouter, retirer, remplacer

Code: python
commandes = ["C-1041", "C-1042", "C-1043"]

# Une commande arrive par téléphone : on l'ajoute à la fin.
commandes.append("C-1044")

# Le client de C-1042 annule : on la retire.
commandes.remove("C-1042")

# Erreur de saisie sur la première : on la remplace.
commandes[0] = "C-1040"

print(commandes)
print("Il en reste", len(commandes))

# Ajoutez la commande "C-1045", puis appuyez sur Exécuter.

Une erreur fréquente

Attention

Beaucoup pensent que le dernier élément est à l’indice len(liste). C’est faux, car on compte à partir de 0. Dans une liste de 5 éléments, le dernier est à l’indice 4. L’indice 5 provoque une IndexError.

Une boucle for lit chaque élément

Souvent, on veut faire la même chose pour chaque élément : additionner des montants, compter des commandes.

La boucle for montant in montants: donne les éléments un par un, dans l’ordre. À chaque tour, la variable montant prend la valeur suivante.

À vous : le chiffre du jour

Code: python
# Montants des commandes du jour, en euros.
montants = [34.90, 12.50, 89.00, 45.20, 7.80]

total = 0
for montant in montants:
    total = total + montant

print("Chiffre du jour :", round(total, 2), "euros")

# Comptez aussi les commandes de plus de 40 euros.

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.