Python au lycée (5) : Les listes Méthode

Construire une liste pas à pas avec append()

Durée estimée
10 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Méthode

Pour construire une liste élément par élément :

  1. Initialiser une liste vide avant la boucle : ma_liste = [].
  2. Écrire la boucle (for ou while) qui va générer les valeurs à ajouter.
  3. À chaque tour, calculer la valeur à stocker, puis l'ajouter avec ma_liste.append(valeur).
  4. Après la boucle, la liste contient tous les éléments ajoutés. On peut l'afficher avec print.

On choisit for quand on connaît à l'avance le nombre d'éléments à produire, et while quand on s'arrête sur une condition (seuil, dépassement...).

Premiers termes d'une suite

On considère la suite définie par $u_0 = 2$ et, pour tout entier $n$, $u_{n+1} = 2 u_n + 1$. On veut construire la liste $[u_0, u_1, u_2, \ldots, u_{10}]$.

Étape 1 : On initialise une liste vide et la valeur de départ :

termes = []
u = 2

Étape 2 : On parcourt 11 indices avec for i in range(11) (pour obtenir $u_0$ à $u_{10}$).

Étape 3 : À chaque tour, on ajoute le terme courant puis on calcule le suivant :

for i in range(11) :
    termes.append(u)
    u = 2 * u + 1

Étape 4 : Après la boucle, on affiche :

print(termes)   # affiche [2, 5, 11, 23, 47, 95, 191, 383, 767, 1535, 3071]

Liste des multiples de 7 inférieurs à 100

On veut la liste de tous les multiples de $7$ strictement inférieurs à $100$, en utilisant while.

Étape 1 : On part d'une liste vide et du premier multiple :

multiples = []
n = 7

Étape 2 : On utilise while n < 100 : la boucle s'arrête dès que $n$ atteint ou dépasse $100$.

Étape 3 : À chaque tour, on ajoute $n$ à la liste, puis on passe au multiple suivant en ajoutant $7$ :

while n < 100 :
    multiples.append(n)
    n = n + 7
print(multiples)   # affiche [7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]

Étape 4 : La liste contient tous les multiples de $7$ compris entre $7$ et $98$.

Remarque

Lorsque la règle de construction est simple (une expression $f(n)$ par élément, avec éventuellement un filtrage), on peut souvent remplacer la boucle + append par une liste en compréhension. La version while n'a en revanche pas d'équivalent en compréhension.

Attention

Trois pièges classiques :

  • Oublier l'initialisation ma_liste = [] avant la boucle : Python signale alors une erreur au premier .append, car la variable n'existe pas encore.
  • Réinitialiser la liste à l'intérieur de la boucle : ma_liste = [] placée dans la boucle efface les éléments déjà ajoutés à chaque tour ; la liste finale ne contient alors que le dernier élément.
  • Boucle while sans mise à jour : si l'on oublie n = n + 7, la condition reste vraie indéfiniment et le programme tourne à l'infini.

Pour s'entraîner