Aller au contenu

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 fruit prend 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 :

  1. Demande à l’utilisateur combien d’animaux il possède.
  2. Demande ensuite le nom de chaque animal, et les stocke dans une liste.
  3. Affiche ensuite :

  4. Le nombre total d’animaux

  5. 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 ?