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
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Liste | des valeurs rangées dans un ordre | ["C-1041", "C-1042"] |
| Élément | une valeur dans la liste | |
| Indice | la place d’un élément, à partir de 0 | commandes[0] |
| append | ajoute un élément à la fin | commandes.append("C-1044") |
| remove | retire un élément par sa valeur | commandes.remove("C-1042") |
| len | donne le nombre d’éléments | len(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
# 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ément | Comment le lire |
|---|---|---|
| 0 | C-1041 | commandes[0] |
| 1 | C-1042 | commandes[1] |
| 2 | C-1043 | commandes[2] |
| 3 | C-1044 | commandes[3] |
| 4 | C-1045 | commandes[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
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
# 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.