Les structures de données
R06 - Les listes et les chaînes de caractères
En Python, la liste est une structure de données qui agit comme un conteneur de données. On peut comparer la liste à un livre dont les données sont les pages : dans notre cas, des chaînes de caractères, des int, des float, etc.
L'utilisation des listes est critique en programmation, car elles permettent de regrouper plusieurs valeurs (données) dans une seule variable et d'y effectuer des opérations, principalement à l'aide des boucles.
Il est possible de faire plusieurs actions sur les listes, telles que :
Pour créer une liste en Python, il suffit de créer une nouvelle variable et de lui assigner la valeur [], ce qui représente une liste vide.
Pour mettre des valeurs de départ dans la liste, on les écrit entre les crochets, par exemple : [1, 2, 3] ou ["patate", "jambon", "miel"].
Code
Suivant l'analogie du livre, une liste est composée de plusieurs éléments ; chaque élément a une position dans la liste, désignée par son indice (un peu comme le numéro d'une page). Les indices commencent toujours à zéro et se terminent à n - 1, où n est le nombre d'éléments de la liste.
Prenons par exemple la liste listeEntiers créée précédemment :
| Indice | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Valeur | 1 | 2 | 3 | 4 |
Pour consulter une valeur de la liste, on utilise son indice entre crochets !
Code
Résultat
| Indice | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Valeur | 1 | 2 | 3 | 4 |
append)Pour ajouter une valeur, on utilise la fonction .append(valeur). La valeur s'ajoute à la fin de la liste !
Code
La liste après
| Indice | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| Valeur | 1 | 2 | 3 | 4 | 32 |
remove)Pour retirer une valeur d'une liste, on utilise la fonction .remove(valeur). Elle retire la première occurrence de la valeur dans la liste.
Code
La liste après
| Indice | 0 | 1 | 2 |
|---|---|---|---|
| Valeur | 1 | 2 | 4 |
Les valeurs qui suivaient reculent d'une case : 4 passe de l'indice 3 à l'indice 2.
insert)Pour insérer une valeur dans une liste, on utilise la fonction .insert(indice, valeur). La valeur prend la place de l'indice donné et les suivantes avancent d'une case.
Code
La liste après
| Indice | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| Valeur | 1 | 2 | 3 | 15 | 4 |
L'indice vient en premier : insert(15, 3) ajouterait plutôt la valeur 3 à la fin.
pop)Pour retirer la valeur qui se trouve à un indice donné, on utilise la fonction .pop(indice).
Code
La liste après
| Indice | 0 | 1 | 2 |
|---|---|---|---|
| Valeur | 1 | 3 | 4 |
remove cherche une valeur, pop vise un indice.
Pour modifier une valeur de la liste, on écrit l'indice de la valeur à modifier entre crochets, puis on lui assigne une nouvelle valeur !
Code
La liste après
| Indice | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Valeur | 1 | 2 | 7 | 4 |
Pour obtenir la taille de la liste, on utilise la fonction len(liste). Elle retourne le nombre d'éléments actuellement dans la liste.
Code
Résultat
| Indice | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Valeur | Pierre | Jean | Jacques | Julie |
Les listes s'utilisent dans les boucles : c'est primordial pour effectuer des actions à répétition sur les valeurs d'une liste. Voici deux façons de parcourir la liste :
À l'aide d'un while
À l'aide d'un for
Résultat (le même pour les deux)
i++ n'existe pas en Python : on écrit i += 1.
Les strings
Les chaînes de caractères contiennent des données sous forme de texte. En Python, une chaîne de caractères est une séquence de caractères, c'est-à-dire une suite ordonnée de lettres, de chiffres, de symboles ou d'espaces.
On peut initialiser une chaîne de plusieurs façons :
On peut manipuler une chaîne un peu comme une liste : chaque caractère est à un indice dans la chaîne, et on peut le consulter.
Attention ! On ne peut pas modifier une chaîne comme une liste : chaine[0] = 'a' provoque une erreur.
| Indice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| Valeur | B | o | n | j | o | u | r | ! |
Nous verrons comment faire des opérations avancées sur les chaînes de caractères plus tard dans la session !
Quelle sera la sortie dans la console du code suivant ?
Code
Réponse
Quelle sera la sortie dans la console du code suivant, et quelles seront les valeurs de la liste ?
Code
Réponse
| Indice | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Valeur | 1 | 2 | 57 | 4 |
Quelle sera la sortie dans la console du code suivant ?
Code
Réponse
Quelle sera la sortie dans la console du code suivant ?
Code
Réponse
Cinq programmes : remplir et afficher une liste, calculer une moyenne sans sum(), trier des entiers en multiples de 3 et de 5, compter les voyelles d'un mot et permuter deux valeurs d'une liste.
Consulter le laboratoire en ligne · Télécharger le calepin (.ipynb)
Pondération : 3 % de la note finale.