Aller au contenu

Les listes en Python

Les listes permettent de stocker et manipuler plusieurs valeurs dans une seule variable.

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 ?