# 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](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/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](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/python-extend/) et [Python insert](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/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 :

```Python
liste.append(element)
```

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 :

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

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 :

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

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](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/loop-for-en-python/) et en ajoutant chaque élément séparément.

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

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](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/python-array/) 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 :

```Python
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
```

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.

```Python
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])
```

## 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.

```Python
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]
```

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](https://www.ionos.fr/hebergement/deploy-now "Deploy Now par IONOS") par IONOS – une plateforme faite pour vous !


This is a markdown version of: [https://www.ionos.fr/digitalguide/sites-internet/developpement-web/python-append/](https://www.ionos.fr/digitalguide/sites-internet/developpement-web/python-append/) for AI/LLM consumption.