Construire une liste pas à pas avec append()
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteMéthode
Pour construire une liste élément par élément :
- Initialiser une liste vide avant la boucle : ma_liste = [].
- Écrire la boucle (for ou while) qui va générer les valeurs à ajouter.
- À chaque tour, calculer la valeur à stocker, puis l'ajouter avec ma_liste.append(valeur).
- 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.