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)
PythonDans 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’]
PythonComme 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]]
PythonDans 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]
PythonCette 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
PythonEnfin, 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])
PythonCas 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]
PythonComme 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.
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 !