Les listes en Python¶
Dans la partie intermédiaire, on va voir d'autres choses absolument indispensables quand on code en Python, mais qui sont un peu plus compliquées à bien comprendre. Et le premier de ces concepts un peu plus compliqués, c'est les listes !
En effet, jusqu’ici, nos variables contenaient une seule valeur : un nombre, un texte, un booléen…
Mais parfois, on a besoin de stocker plusieurs valeurs ensemble.
Par exemple :
- La liste des prénoms d’une classe
- Les scores d’un joueur au fil de la partie
- Les courses à acheter
- Les résultats d’un programme répétitif
Pour ça, on va utiliser un nouveau type : les listes.
Créer une liste¶
Une liste se définit avec des crochets [], et chaque élément est séparé par une virgule.
fruits = ["pomme", "banane", "poire"]
ages = [12, 18, 45]
Une liste peut contenir :
- des
int - des
str - des
float - même des listes (mais on verra ça plus tard)
Accéder à un élément¶
Les éléments d’une liste sont numérotés à partir de 0.
| Élément | Indice |
|---|---|
| 1er élément | 0 |
| 2ème élément | 1 |
| 3ème élément | 2 |
| ... | ... |
Ainsi :
fruits = ["pomme", "banane", "poire"]
print(fruits[0]) # affiche "pomme"
print(fruits[1]) # affiche "banane"
print(fruits[2]) # affiche "poire"
Modifier un élément¶
fruits = ["pomme", "banane", "poire"]
fruits[1] = "kiwi"
print(fruits)
Affiche :
['pomme', 'kiwi', 'poire']
Ajouter un élément¶
fruits = ["pomme", "banane"]
fruits.append("fraise")
print(fruits)
Affiche :
['pomme', 'banane', 'fraise']
Quizz¶
nombres = [10, 20, 30, 40]
print(nombres[1])
Qu'affiche ce programme ?
- 10
- *20
- 30
- 40
> L’élément d’indice 1 est le deuxième élément.
Parcourir une liste avec une boucle for¶
Et oui, c’est ici qu’on réutilise la boucle for.
Avant, on faisait :
for i in range(5):
print(i)
Maintenant qu’on a une liste, on peut parcourir directement son contenu :
fruits = ["pomme", "banane", "poire"]
for fruit in fruits:
print(fruit)
Affiche :
pomme
banane
poire
Ici, la variable
fruitprend successivement chaque valeur de la liste.
Taille d’une liste¶
Pour connaître le nombre d’éléments :
fruits = ["pomme", "banane", "poire"]
print(len(fruits)) # affiche 3
Appartenance à une liste¶
Le mot clé in permet de tester l'appartenance à une liste. Par exemple
l = [1,2,3]
print(1 in l)
print(4 in l)
affiche
True
False
Exercice pratique¶
Vous allez écrire un petit programme qui :
- Demande à l’utilisateur combien d’animaux il possède.
- Demande ensuite le nom de chaque animal, et les stocke dans une liste.
-
Affiche ensuite :
-
Le nombre total d’animaux
- Puis chaque animal un par un, avec son numéro dans la liste
Exemple d’exécution :
Combien as-tu d'animaux ? 4
Nom de l'animal n°1 : Rex
Nom de l'animal n°2 : Mochi
Nom de l'animal n°3 : Pompom
Nom de l'animal n°4 : Léon
Tu as 4 animaux :
1) Rex
2) Mochi
3) Pompom
4) Léon
Quelques indices (si besoin)¶
Indice 1
Utilise une boucle for i in range(n) pour demander les noms un à un, et pareil pour les afficher.
Indice 2
Pour afficher le numéro, remarque que la première position est 1, mais i commence à 0.
Bonne chance. Cet exercice est très proche de l’usage réel des listes dans un vrai programme.
En résumé¶
| Concept | Exemple | Description |
|---|---|---|
| Créer une liste | l = [1,2,3] |
Regroupe plusieurs valeurs |
| Accéder | l[0] |
On utilise les indices (à partir de 0) |
| Modifier | l[1] = 42 |
On peut changer les éléments |
| Ajouter | l.append(x) |
Ajoute un élément à la fin |
| Parcourir | for x in l: |
La boucle for permet de traiter chaque valeur |
Les listes sont extrêmement importantes en programmation. On les utilisera partout dans la suite. Prêt pour la suite ?