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 par­ti­cu­lier, mieux vaut utiliser les méthodes ap­pro­priées Python extend et Python insert.

append() : fonc­tion­ne­ment 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 re­pré­sente l’élément à ajouter. Dans l’exemple suivant, on ajoute à la même liste des éléments de dif­fé­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 di­rec­te­ment 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 sim­ple­ment 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é­pa­ré­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 es­thé­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.

Ap­pli­ca­tion à d’autres struc­tures 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 struc­tures de données courantes sous Python. Cependant, on notera quelques dif­fé­rences im­por­tantes à prendre en compte.

Arrays

Les Arrays Python ne font pas partie de la bi­blio­thèque standard de Python et doivent être importés d’un module externe comme numpy ou array. Mais, si vous cherchez à gérer ef­fi­ca­ce­ment l’espace mémoire et la puissance de calcul, ces tableaux cons­ti­tuent 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 im­pos­sible d’ajouter des éléments de types de données dif­fé­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)
# Sortie : array(‘i’, [100, 101, 102, 103])
array1.append(‘a’)   # Cette ligne affiche un message d’erreur
Python

Enfin, il est important de men­tion­ner que les tableaux ont une longueur fixe, dé­ter­mi­née à la création de la structure de données. Il est im­pos­sible 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 sup­plé­men­taire à un tableau avec append(), cela passe par la sup­pres­sion du tableau entier en arrière-plan et sa re­cons­truc­tion avec l’élément sup­plé­men­taire. Il est bon d’en tenir compte pour utiliser au mieux les res­sources système.

Deque

Comme pour les listes et les tableaux, il existe une méthode append() pour les struc­tures de données Deque avec un com­por­te­ment très similaire. Une « Deque » (prononcer « Dèque », abré­via­tion 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 sup­plé­men­taire, ap­pend­left(). À 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 in­di­vi­duels 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 par­ti­cu­la­rité 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 in­di­vi­duels lors de leur ajout.

Conseil

Vous voulez déployer votre site Internet ou autre ap­pli­ca­tion Web ? La solution rapide, facile et directe c’est en passant par Git avec Deploy Now par IONOS – une pla­te­forme faite pour vous !

Aller au menu principal