Ajouter des éléments à une liste (tableau) en Python : append(), extend(), insert()

Affaires

Pour ajouter un élément à une liste (tableau) de type liste en Python, ou pour combiner une autre liste, utilisez les méthodes append(), extend() et insert(). Vous pouvez également utiliser l'opérateur + ou la tranche pour spécifier une position et l'assigner.

Les informations suivantes sont fournies ici.

  • Ajouter des éléments à la fin:append()
  • Fusionner une autre liste ou un tuple à la fin (concaténation): extend(),+opérateur
  • Ajoute (insère) un élément à la position spécifiée.:insert()
  • Ajouter (insérer) une autre liste ou un tuple à la position spécifiée:tranche

Ajouter des éléments à la fin: append()

En utilisant la méthode append() de la liste, vous pouvez ajouter des éléments à la fin (dernier). Si vous voulez ajouter un élément à une position autre que la fin, par exemple en haut, utilisez la méthode insert() comme décrit ci-dessous.

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Les listes sont également ajoutées comme un seul élément. Elles ne sont pas combinées.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Fusionner une autre liste ou un tuple à la fin (concaténation): extend(), +opérateur

Avec la méthode de liste extend(), vous pouvez combiner une autre liste ou un tuple à la fin (la fin). Tous les éléments seront ajoutés à la fin de la liste originale.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

Notez que chaque caractère (élément) est ajouté à la chaîne un caractère à la fois.

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

Il est également possible de concaténer en utilisant l'opérateur + au lieu de la méthode extend().

+, une nouvelle liste est retournée.+=Cela vous permettra également de l'ajouter à une liste existante.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Ajoute (insère) un élément à la position spécifiée.: insert()

La méthode de liste insert() permet d'ajouter (insérer) un élément à une position spécifiée.

Le premier argument spécifie la position, et le second argument spécifie l'élément à insérer. La première position (initiale) est 0 ; pour les valeurs négatives, -1 est la dernière position (finale).

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Comme avec append(), la liste est ajoutée comme un seul élément. Elle ne sera pas fusionnée.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Notez que insert() n'est pas une opération efficace car elle nécessite les coûts suivants. Voir la page suivante sur le wiki officiel pour la complexité de calcul des différentes opérations de liste.
O(n)

O(1)
Le type deque est fourni dans le module collections de la bibliothèque standard comme un type permettant d'ajouter des éléments au sommet à ce coût. Par exemple, si vous souhaitez traiter les données comme une file d'attente (FIFO), il est plus efficace d'utiliser deque.

Ajouter (insérer) une autre liste ou un tuple à la position spécifiée: tranche

Si vous spécifiez une plage avec une tranche et affectez une autre liste ou un tuple, tous les éléments seront ajoutés (insérés).

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

Vous pouvez également remplacer l'élément d'origine. Tous les éléments de la plage spécifiée seront remplacés.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
Copied title and URL