Mathématiques · Seconde
Les listes en Python : cours de 2de
Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur
L'essentiel
- Une liste est une suite ordonnée de valeurs écrite entre crochets, par exemple
L = [4, 7, 1]; ses éléments sont repérés par un indice qui commence à 0. len(L)donne le nombre d'éléments ; le dernier a l'indicelen(L) - 1, ou-1. Hors de ces limites : erreurIndexError.- On parcourt une liste avec
for x in L(on veut les valeurs) oufor i in range(len(L))(on veut aussi les positions). - On construit une liste en partant de
[]et en ajoutant avecL.append(x), ou en une ligne avec une compréhension :[k**2 for k in range(1, 6)]. - Une fonction peut recevoir une liste et en renvoyer une avec
return: c'est ainsi qu'on programme les chiffres d'un nombre, sa factorisation ou le crible d'Ératosthène.
Pourquoi utiliser des listes ?
Jusqu'ici, tu as manipulé des variables qui contiennent une seule valeur : un entier, un décimal, un texte. C'est suffisant pour calculer l'aire d'un rectangle, mais pas pour traiter vingt notes, la liste des diviseurs d'un entier ou les chiffres d'un nombre. Imagine devoir écrire note1, note2, … note20 : ce serait long, et impossible à parcourir avec une boucle.
La liste règle ce problème. Elle range plusieurs valeurs dans une seule variable, dans un ordre précis, et permet de les traiter une par une, ou toutes ensemble, avec les boucles que tu connais déjà.
Python est un langage de programmation interprété, doté d'un typage dynamique : une même variable peut recevoir successivement un entier puis un texte, et Python devine le type tout seul 4. Il est aussi réputé pour sa syntaxe simple, ce qui en fait un bon langage pour débuter 4. Au lycée, c'est lui qu'on utilise pour la partie « algorithmique et programmation » du programme de mathématiques de seconde 3.
Les listes peuvent servir dans des activités de programmation proposées pour la seconde, comme trouver le nombre de chiffres d'un entier, encadrer ou étudier un tremplin de ski 1. Dans ce cours, tu vas apprendre à :
- créer une liste et lire ou modifier ses éléments ;
- la parcourir avec des boucles ;
- la construire petit à petit, puis en une seule ligne ;
- l'utiliser dans des fonctions et dans trois applications mathématiques classiques.
Créer une liste et lire ses éléments
| Valeur | 10 | 20 | 30 | 40 |
|---|---|---|---|---|
| Indice positif | 0 | 1 | 2 | 3 |
| Indice négatif | -4 | -3 | -2 | -1 |
Parcourir une liste avec des boucles
Parcourir une liste, c'est passer en revue ses éléments, un par un, pour les afficher, les compter, les additionner ou les tester. Python offre deux façons de le faire avec une boucle for, et tu choisis selon ce dont tu as besoin.
Construire une liste : append et range
Souvent, on ne connaît pas la liste au départ : c'est le programme qui la fabrique. Le schéma est toujours le même : on part d'une liste vide, puis on ajoute des éléments au fil d'une boucle.
Les compréhensions de listes
Python permet de décrire une liste en une seule ligne, à la manière d'un ensemble défini en mathématiques. Cet outil s'appelle une compréhension de liste 4. On l'a déjà croisé dans des ressources de formation pour la seconde, par exemple pour fabriquer une liste de booléens servant de point de départ au crible d'Ératosthène 2.
Listes et fonctions
Une fonction peut prendre une liste en paramètre, et en renvoyer une avec return. C'est le fonctionnement de la plupart des programmes que tu écris en mathématiques.
Trois applications mathématiques
Les listes servent à représenter des objets mathématiques : l'ensemble des diviseurs d'un entier, la suite de ses chiffres, la liste des nombres premiers jusqu'à une borne. Les ressources de formation destinées à la seconde proposent des programmes de ce genre, notamment la liste des facteurs premiers d'un entier, les chiffres d'un entier en base 10 et le crible 2. Voici une version de chacun, écrite avec les outils de ce cours.
Erreurs fréquentes et méthode de contrôle
Exercices corrigés
Exercice 1 Moyenne d'une série de notes
On considère la liste notes = [12, 15, 9, 14].
- Écris une boucle qui calcule la somme des éléments de
notes. - En déduire la moyenne des notes, en utilisant
len(notes).
Indice 1
Initialise une variable somme à 0 avant la boucle.
Indice 2
La moyenne est la somme divisée par le nombre d'éléments.
Voir la correction pas à pas
On crée l'accumulateur :
somme = 0.On parcourt les valeurs :
for x in notes:puissomme = somme + x. La variablesommeprend les valeurs 12, 27, 36 puis 50.On calcule le nombre d'éléments :
len(notes)vaut 4.On divise :
moyenne = somme / len(notes), soit .
La somme des notes est 50 et leur moyenne est 12,5.
Exercice 2 Somme des carrés pairs
- Écris une compréhension de liste qui donne les carrés des entiers pairs de 1 à 10 inclus.
- Calcule la somme des éléments de cette liste.
Indice 1
Pour avoir les entiers de 1 à 10 inclus, utilise range(1, 11).
Indice 2
Un entier k est pair quand k % 2 == 0.
Voir la correction pas à pas
On parcourt
range(1, 11), qui produit 1, 2, …, 10.On garde les entiers pairs avec le filtre
if k % 2 == 0: 2, 4, 6, 8, 10.On écrit la compréhension :
[k**2 for k in range(1, 11) if k % 2 == 0]. Elle donne[4, 16, 36, 64, 100].On additionne : .
La liste est [4, 16, 36, 64, 100] et la somme vaut 220.
Exercice 3 Combien de nombres premiers jusqu'à 30 ?
On applique le crible d'Ératosthène aux entiers de 2 à 30 : on barre les multiples de 2, puis ceux de 3, puis ceux de 5.
- Pourquoi n'est-il pas nécessaire de barrer les multiples de 7 pour terminer le travail ?
- Écris la liste des nombres restants, puis donne leur nombre.
Indice 1
Si un entier composé n'a pas de diviseur premier , que pourrait valoir le plus petit de ses diviseurs premiers ?
Indice 2
Le plus petit diviseur premier d'un entier composé vérifie .
Voir la correction pas à pas
Un entier composé a un plus petit diviseur premier tel que . Donc , car .
Tout composé inférieur ou égal à 30 a donc déjà été barré en tant que multiple de 2, 3 ou 5. Barrer les multiples de 7 n'ajouterait rien : ils ont déjà disparu.
Après le barrage, il reste : 2, 3, 5, 7, 11, 13, 17, 19, 23, 29.
On compte les éléments de la liste : 10.
Il reste la liste [2, 3, 5, 7, 11, 13, 17, 19, 23, 29] : il y a 10 nombres premiers inférieurs ou égaux à 30.
Quiz
9 questions · correction immédiate · ton score reste sur ton appareil.
-
Les indices commencent à 0 :
L[0]vaut 5 etL[1]vaut 8. La réponse 5 vient de l'habitude de compter à partir de 1, ce qui décale tout d'un cran. -
L'indice
-1désigne le dernier élément, ici 11. Ce n'est pas une erreur : Python accepte les indices négatifs. Ce n'est pas non plus 5, qui est le premier élément. -
Les indices vont de 0 à
len(L) - 1, soit de 0 à 5. L'indice 6 n'existe pas et provoquerait unIndexError. -
L.append(7)modifie la liste en place.L = L.append(7)donneNoneàL, carappendne renvoie rien.append(L, 7)n'est pas une fonction de Python. EtL[len(L)] = 7provoque une erreur, car cet indice n'existe pas encore. -
range(1, 5)donne 1, 2, 3, 4 : la borne 5 est exclue. Les carrés sont 1, 4, 9 et 16. La liste avec 25 oublie l'exclusion de la borne ; celle qui commence par 0 oublie querangecommence ici à 1. -
for x in Ldonne chaque valeur, etrange(len(L))donne chaque indice de 0 àlen(L) - 1. Aveclen(L) + 1, le dernier indice demandé n'existe pas (erreur). Avecrange(1, len(L)), on saute l'élément d'indice 0. -
Faux.
M = Lne crée pas de copie : les deux noms désignent la même liste, doncLvaut aussi[99, 2, 3]. Pour une copie indépendante, on écritM = L.copy(). -
L[1]vaut 6 etL[3]vaut 12, donc la somme est 18. Si tu as trouvé 12, tu as compté les indices à partir de 1 et additionné 3 et 9. -
Les entiers de 1 à 20 divisibles par 4 sont 4, 8, 12, 16 et 20 : cela fait 5 éléments. Le filtre
k % 4 == 0garde les entiers dont le reste par 4 est nul.
Les questions qu'on se pose
Pourquoi les indices commencent-ils à 0 et pas à 1 ?
C'est la convention de Python, partagée par la plupart des langages de programmation. L'indice mesure le décalage par rapport au début de la liste : le premier élément est à un décalage de 0. Retiens que, pour une liste de éléments, les indices vont de à . En cas de doute, fais un petit schéma avec une liste de 3 cases.
Quelle différence entre `for x in L` et `for i in range(len(L))` ?
Dans le premier cas, x est la valeur de l'élément ; dans le second, i est l'indice et on lit l'élément avec L[i]. Utilise la première forme quand tu n'as pas besoin de la position, et la seconde quand tu veux la position, parcourir deux listes en parallèle ou modifier des cases.
Quand utiliser une compréhension plutôt qu'une boucle avec append ?
Quand la liste se décrit simplement : une expression, un parcours, éventuellement un seul filtre. Si tu hésites à relire ta ligne, ou si le calcul demande plusieurs étapes, une boucle classique est préférable. Les deux écritures donnent le même résultat, et on te demande souvent de savoir passer de l'une à l'autre.
Pourquoi mon programme affiche-t-il None ?
Deux causes fréquentes. Soit tu as écrit L = L.append(x) : append ne renvoie rien, donc L devient None. Soit ta fonction n'a pas de return (ou le return est oublié), et Python renvoie alors None par défaut. Vérifie ces deux points d'abord.
Comment tester qu'une fonction qui construit une liste est correcte ?
Choisis un cas dont tu connais la réponse, par exemple facteurs(60) qui doit donner [2, 2, 3, 5], ou crible(30) qui doit donner dix nombres premiers. Teste aussi des cas limites : une valeur très petite, comme facteurs(1), qui doit renvoyer la liste vide. Affiche le résultat avec print et compare avec ta réponse à la main.
Sources
Programme visé : Mathématiques enseignement commun, classe de seconde — Algorithmique et programmation · eduscol.education.gouv.fr
- Mathématiques enseignement commun, classe de seconde — Algorithmique et programmation, eduscol.education.gouv.fr. Consulté le 9 novembre 2026.
- Formation UPO Python Seconde — Listes — Académie de Lyon, ac-lyon.fr. Consulté le 9 novembre 2026.
- Python — Mathématiques — Académie de Lyon, ac-lyon.fr. Consulté le 9 novembre 2026.
- Python (langage), Wikipédia. Consulté le 9 novembre 2026.
- Python royal, Wikipédia. Consulté le 9 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.