Append() dans Python : ajout d’élément à une liste

On utilise La méthode append() dans Python pour ajouter un élément à la fin d’une Python List existante. Si vous cherchez plutôt à ajouter plusieurs éléments en même temps ou à insérer un élément à un index particulier, mieux vaut utiliser les méthodes appropriées Python extend et Python insert.

append() : fonctionnement sous Python

La méthode append() permet d’ajouter un élément à la fin d’une liste existante. L’élément à ajouter peut prendre la forme de tout type de donnée. Vous pouvez ainsi remplir des listes Python avec des types de données simples (par exemple des entiers, des nombres à virgule flottante, etc.) ou plus complexes (comme d’autres listes).

La syntaxe de la méthode est la suivante :

liste.append(element)
Python

Dans cet exemple, liste est le nom de la liste et element représente l’élément à ajouter. Dans l’exemple suivant, on ajoute à la même liste des éléments de différents types :

liste = [1, 2, 3]
liste.append(4)
nombre = "cinq"
liste.append(nombre)
print(liste)   # Sortie : [1, 2, 3, 4, ‘cinq’]
Python

Comme on peut le voir, append() permet d’ajouter un élément de n’importe quel type de données à une liste en Python. Il est possible de saisir directement l’élément à ajouter comme paramètre, soit de le créer au préalable comme variable avant de l’ajouter à la liste. Cependant, la méthode append() montre ses limites si vous essayez d’ajouter plusieurs éléments en même temps, comme le montre l’exemple suivant :

liste2 = [6, 7]
liste.append(liste2)
print(liste)   # Sortie : [1, 2, 3, 4, ‘cinq’, [6, 7]]
Python

Dans ce cas, la liste liste2 a été passée en paramètre lors de l’appel de la méthode. Au lieu d’ajouter les éléments de liste2 à l’autre liste, la méthode a simplement ajouté liste2 elle-même comme élément unique. Le résultat est une liste imbriquée, ce qui n’est pas le but recherché. On peut résoudre ce problème en itérant sur liste2 avec une loop for en Python et en ajoutant chaque élément séparément.

for nombre in liste2:
    liste.append(nombre)
print(liste)    # Sortie : [1, 2, 3, 4, ‘cinq’, [6, 7], 6, 7]
Python

Cette solution n’est pas des plus esthétiques. Voilà pourquoi, dans de tels cas, la méthode Python extend reste le meilleur choix en ajoutant plusieurs éléments à la fois à une liste.

Application à d’autres structures de données

Bien que la méthode Pyton append() soit le plus souvent utilisée pour la gestion de listes, elle peut aussi s’appliquer à d’autres structures de données courantes sous Python. Cependant, on notera quelques différences importantes à prendre en compte.

Arrays

Les Arrays Python ne font pas partie de la bibliothèque standard de Python et doivent être importés d’un module externe comme numpy ou array. Mais, si vous cherchez à gérer efficacement l’espace mémoire et la puissance de calcul, ces tableaux constituent un meilleur choix que les listes. En revanche, les tableaux sont un peu plus limités : ils ne peuvent contenir que des éléments de données de même type. Le type de données est défini à la création du tableau. Il est ainsi impossible d’ajouter des éléments de types de données différents à un tableau avec la méthode append(). L’exemple suivant illustre pourquoi :

import numpy as np
array1 = np.array(‘i’, [100, 101, 102])
array1.append(103)
print(array1)
array1.append(‘a’)   # Cette ligne affiche un message d’erreur
Python

Enfin, il est important de mentionner que les tableaux ont une longueur fixe, déterminée à la création de la structure de données. Il est impossible de modifier cette structure par la suite. Si vous créez le tableau [1, 2, 3, 4, 5], il aura une longueur de 5. Si Python permet certes d’ajouter un élément supplémentaire à un tableau avec append(), cela passe par la suppression du tableau entier en arrière-plan et sa reconstruction avec l’élément supplémentaire. Il est bon d’en tenir compte pour utiliser au mieux les ressources système.

Deque

Comme pour les listes et les tableaux, il existe une méthode append() pour les structures de données Deque avec un comportement très similaire. Une « Deque » (prononcer « Dèque », abréviation de l’anglais double-ended queue) est une liste dans laquelle on peut ajouter ou supprimer des éléments aussi bien à la fin qu’au début. Ici, la méthode append() se comporte de la même manière que pour une liste. Il existe cependant une méthode supplémentaire, appendleft(). À l’inverse d’append(), cette méthode insère l’élément à gauche de la Deque.

from collections import deque
entiers_naturels = deque([1, 2, 3])
entiers_naturels.append(4)
entiers_naturels.appendleft(0)
print(entiers_naturels)   # Sortie : deque([0, 1, 2, 3, 4])
Python

Cas pratique : comment utiliser append()

Certes, la méthode Python append() ne permet d’ajouter des éléments individuels qu’à la fin d’une liste. Elle est cependant tout indiquée si vous souhaitez aller plus loin à l’ajout d’un élément. L’exemple suivant illustre la particularité de la méthode : dans ce cas, on a une liste de grands nombres. Chaque nombre est divisé par 7 et le reste de cette opération est ajouté à une deuxième liste.

grands_nombres = [2141, 5683, 456, 789, 120, 101, 89005]
reste = []
for nombre in grands_nombres:
    reste.append(nombre % 7)
print(grands_nombres)    # Sortie : [2141, 5683, 456, 789, 120, 101, 89005]
print(reste)    # Sortie : [6, 6, 1, 5, 1, 3, 0]
Python

Comme le montre cet exemple, append() se révèle très utile lorsqu’il s’agit de manipuler des éléments individuels lors de leur ajout.

Conseil

Vous voulez déployer votre site Internet ou autre application Web ? La solution rapide, facile et directe c’est en passant par Git avec Deploy Now par IONOS – une plateforme faite pour vous !