Mathématiques · Première technologiqueÉpreuve anticipée de mathématiques
Les listes en Python : cours de Première technologique
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- Une liste regroupe plusieurs valeurs dans un seul objet ; elle apparaît en classe de première 2.
- On la définit par l'énumération de ses éléments, ou en compréhension 2.
- Elle peut mélanger des types : entiers, flottants, booléens, chaînes 3.
- Une fonction peut renvoyer une liste 3 ; la méthode sort() ordonne une liste numérique 3.
- Les listes en compréhension servent à générer des suites ou des valeurs pour tracer une courbe 2.
Pourquoi des listes ?
Jusqu'ici, tu as utilisé des variables qui contiennent une seule valeur : un entier, un flottant, un booléen. Dès qu'on veut garder dix résultats, trente notes ou toutes les valeurs d'une suite, créer une variable par valeur devient vite impossible. La liste règle ce problème : un seul nom pour un ensemble de valeurs rangées dans un ordre.
La notion de liste est introduite en classe de première 2. Elle s'appuie sur ce que tu connais déjà : les variables et l'affectation, les boucles et les conditions, les fonctions.
Dans ce cours, tu vas apprendre à :
- définir une liste de deux façons différentes ;
- accéder à un élément, modifier une liste, la parcourir avec une boucle ;
- construire une liste en compréhension ;
- utiliser des listes avec des fonctions ;
- traiter des problèmes de mathématiques (suites, valeurs d'une fonction) avec des listes.
Définir une liste
Par énumération, on écrit tous les éléments entre crochets, séparés par des virgules :
notes = [12, 15, 9, 18]
vide = []
La liste vide ne contient aucun élément : c'est un point de départ très utile quand on veut la remplir ensuite avec une boucle.
Les éléments d'une liste n'ont pas tous besoin d'être du même type. Voici un exemple de liste mêlant des entiers, un flottant, un booléen et une chaîne de caractères : [7, 8, 5.2, True, 'programmation', 14] 3. Une liste peut donc contenir des nombres, mais aussi du texte ou des booléens 3.
Dans la pratique en mathématiques, tu travailleras surtout avec des listes numériques : valeurs d'une série statistique, termes d'une suite, abscisses d'une courbe.
Accéder aux éléments et modifier une liste
Une liste est modifiable. Tu peux changer un élément par une affectation, ou ajouter un élément à la fin avec la méthode append :
notes = [12, 15, 9, 18]
notes[2] = 10 # la liste devient [12, 15, 10, 18]
notes.append(14) # la liste devient [12, 15, 10, 18, 14]
Parcourir une liste
Pour traiter tous les éléments d'une liste, on utilise une boucle. Il existe deux façons de faire, et il faut savoir choisir.
Parcours par valeur : la variable de boucle prend directement chaque élément.
notes = [12, 15, 9, 18]
total = 0
for n in notes:
total = total + n
print(total) # 54
Parcours par indice : la variable de boucle prend les valeurs des indices.
for i in range(len(notes)):
print(i, notes[i])
Construire une liste en compréhension
Cette écriture est très utile en mathématiques. Par exemple, pour tracer une courbe, on utilise une liste en compréhension de la forme [f(x) for x in abscisse] : elle calcule l'image de chaque abscisse par la fonction 2.
def f(x):
return 2 * x + 1
abscisse = [0, 1, 2, 3]
ordonnee = [f(x) for x in abscisse]
# ordonnee vaut [1, 3, 5, 7]
On dispose alors de deux listes de même longueur : les abscisses et les ordonnées des points à placer.
On peut aussi générer les termes d'une suite arithmétique. Une suite arithmétique de premier terme et de raison vérifie ; on peut donc en générer les termes dans une liste 3.
u1 = 3
r = 4
termes = [u1 + r * (n - 1) for n in range(1, 7)]
# termes vaut [3, 7, 11, 15, 19, 23]
Le terme de rang vaut , ce que traduit l'expression écrite avant le mot for.
Listes et fonctions
En Python, une fonction peut recevoir une liste en argument. Elle peut aussi en renvoyer une : une fonction peut renvoyer du texte, une liste, et même une autre fonction 3.
def moyenne(liste):
total = 0
for v in liste:
total = total + v
return total / len(liste)
print(moyenne([12, 15, 9, 18])) # 13.5
Trier une liste. Dans le cas d'une liste exclusivement numérique, la méthode sort() permet de l'ordonner 3.
notes = [12, 15, 9, 18]
notes.sort()
print(notes) # [9, 12, 15, 18]
Après le tri, le premier élément est le minimum et le dernier est le maximum, ce qui permet d'en déduire facilement l'étendue d'une série statistique : .
Méthode générale pour résoudre un problème avec une liste
Exercices corrigés
Exercice 1 Somme des carrés
On définit en compréhension la liste carres = [k**2 for k in range(10)].
- Écris la liste obtenue.
- Calcule la somme de ses éléments.
Indice 1
range(10) donne les entiers de 0 à 9.
Indice 2
Additionne les dix carrés un par un, en regroupant les petits.
Voir la correction pas à pas
range(10)fournit 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.On élève chaque entier au carré : la liste est [0, 1, 4, 9, 16, 25, 36, 49, 64, 81].
On additionne : 0 + 1 + 4 + 9 = 14, puis 14 + 16 = 30, puis 30 + 25 = 55.
On continue : 55 + 36 = 91, puis 91 + 49 = 140, puis 140 + 64 = 204, puis 204 + 81 = 285.
La somme des éléments de la liste vaut 285.
Exercice 2 Terme d'une suite arithmétique
Une suite arithmétique a pour premier terme et pour raison . On exécute :
termes = [3 + 4 * (n - 1) for n in range(1, 7)]
- Écris la liste obtenue.
- Quelle est la valeur du dernier élément de
termes? - Quel est l'indice de cet élément dans la liste ?
Indice 1
range(1, 7) donne les entiers de 1 à 6.
Indice 2
Chaque terme s'obtient en ajoutant 4 au précédent.
Voir la correction pas à pas
range(1, 7)fournit n = 1, 2, 3, 4, 5, 6 : la liste a six éléments.Pour n = 1 on obtient 3 ; chaque terme s'obtient en ajoutant 4 au précédent.
La liste est [3, 7, 11, 15, 19, 23].
Le dernier élément correspond à n = 6 : .
Les indices commencent à 0 : avec six éléments, le dernier a l'indice 5, soit
len(termes) - 1.
Le dernier élément vaut 23 ; son indice dans la liste est 5, et non 6.
Quiz
5 questions · correction immédiate · ton score reste sur ton appareil.
-
Les indices commencent à 0 :
notes[0]vaut 12 etnotes[1]vaut 15. La réponse 12 vient de l'erreur classique qui consiste à croire que le premier indice est 1, ce qui donnerait 12 pournotes[1]. -
range(10)donne les entiers de 0 à 9, donc la première écriture convient.range(1, 10)oublie 0 ;range(9)s'arrête à 8 ; les parenthèses ne définissent pas une liste, seuls les crochets le font. -
C'est vrai : une liste comme [7, 8, 5.2, True, 'programmation', 14] mélange plusieurs types. Croire qu'une liste doit être homogène est une idée fausse venue des tableaux d'autres langages.
-
Les indices vont de 0 à len(L) − 1, soit de 0 à 7 pour 8 éléments. Répondre 8 serait oublier que la numérotation commence à 0 : l'indice 8 déclenche une erreur.
-
sort()ordonne la liste numérique par ordre croissant en la modifiant sur place, d'où [9, 12, 15, 18]. La liste inchangée est fausse car la liste est bien modifiée ;Noneserait la valeur obtenue en écrivantnotes = notes.sort(), ce qui n'est pas le cas ici.
Les questions qu'on se pose
Pourquoi le premier indice est-il 0 et non 1 ?
C'est la convention de Python : l'indice mesure le décalage par rapport au début de la liste. Le premier élément est à un décalage de 0. Il faut simplement s'y habituer : avec n éléments, les indices vont de 0 à n − 1.
Quelle différence entre une liste définie par énumération et en compréhension ?
Par énumération, tu écris les éléments un par un. En compréhension, tu écris une règle qui les produit, comme [k**2 for k in range(10)] 2. La compréhension est plus courte quand la liste est longue ou quand elle suit une formule.
Dois-je connaître les tableaux et d'autres structures que les listes ?
Non. Au niveau de la première, on se limite aux listes, sans présenter d'autres collections ni distinguer listes et tableaux 2.
Comment éviter l'erreur « index out of range » ?
Vérifie que l'indice reste compris entre 0 et len(liste) - 1. Dans une boucle par indice, utilise range(len(liste)), qui s'arrête exactement au bon endroit. Contrôle aussi qu'une liste n'est pas vide avant de lire son premier élément.
Sources
- Programmes et ressources en mathématiques - voie GT, Éduscol. Consulté le 11 novembre 2026.
- Introduction à l'algorithmique et la programmation - Première technologique, Éduscol. Consulté le 11 novembre 2026.
- Algorithmique et programmation - Ressources pour la classe de Première, Éduscol. Consulté le 11 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.