
Cet article décrit comment ajouter à une liste en Python.
Vous pouvez ajouter un élément (élément) à une liste avec append() et insert(), et ajouter une autre liste à une liste avec extend(), +, += et slice.
- Ajouter un élément à une liste :
append()
- Ajouter une autre liste à une liste (= combiner des listes) :
extend(), +, +=
- Insérer un élément dans une liste :
insert()
- Insérer une autre liste dans une liste : slice
Ajouter un élément à une liste :append()
Vous pouvez ajouter un élément à une liste avec la méthode append().
Un nouvel élément est ajouté à la fin. Si vous souhaitez ajouter d’autres positions, telles que le début, utilisez la méthode insert() décrite plus loin.
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']
Une liste est également ajoutée en tant qu’élément unique, non combiné.
l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]
Ajouter une autre liste à une liste (= combiner des listes) :extend(), +, +=
Vous pouvez utiliser la méthode extend() pour ajouter une autre liste à une liste, c’est-à-dire combiner des listes. Tous les éléments sont ajoutés à la fin de la liste d’origine.
Vous pouvez spécifier d’autres objets itérables, tels que tuple.
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]
Dans le cas d’une chaîne (str), chaque caractère est ajouté un par un.
l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']
Vous pouvez également combiner des listes avec l’opérateur +.
Dans le cas de l’opérateur +, une nouvelle liste est renvoyée. Vous pouvez également ajouter une autre liste à la liste existante avec l’opérateur +=.
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]
Insérer un élément dans une liste :insert()
Vous pouvez insérer un élément à n’importe quel index (position) avec la méthode insert().
Définissez l’index pour le premier paramètre et l’élément à insérer pour le deuxième paramètre. L’index au début est 0 (indexation de base zéro). Pour les valeurs négatives, -1 signifie un avant la fin.
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 append(), la liste est ajoutée en tant qu’élément unique, non combiné.
l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]
Notez que insert() est une opération O(n) et est inefficace. Voir le wiki officiel pour la complexité de calcul des diverses opérations sur la liste.
Le type deque est fourni dans le module standard des collections de bibliothèques pour ajouter un élément à l’en-tête avec O(1). Par exemple, si vous souhaitez traiter les données comme une file d’attente (FIFO), il est plus efficace d’utiliser deque.
Insérer une autre liste dans une liste : slice
Si vous spécifiez une plage à l’aide de slice et affectez une autre liste ou tuple, tous les éléments sont ajouté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’article d’origine. Tous les éléments de la plage spécifiée sont remplacés.
l = list(range(3))
print(l)
# [0, 1, 2]
l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]
Consultez l’article suivant pour plus de détails sur le découpage.