Quelle est la différence entre les méthodes de liste append et extend de Python ?

Quelle est la différence entre les méthodes de liste append() et extend() ?

Solution

[append][1] : Ajoute l'objet à la fin.

x = [1, 2, 3]
x.append([4, 5])
print (x)

vous donne : [1, 2, 3, [4, 5]]


[extend][1] : Étend la liste en ajoutant des éléments de l'itérable.

x = [1, 2, 3]
x.extend([4, 5])
print (x)

vous donne : [1, 2, 3, 4, 5]

[1] : https://docs.python.org/3/library/stdtypes.html#mutable-sequence-types

Commentaires (5)

append ajoute un élément à une liste, et extend concatène la première liste avec une autre liste (ou un autre itérable, pas nécessairement une liste).

>>> li = ['a', 'b', 'mpilgrim', 'z', 'example']
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']

>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']

>>> li.append(["new", 2])
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new', ['new', 2]]

>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', ['new', 2]]

>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', ['new', 2], 'two', 'elements']
Commentaires (0)

append ajoute un seul élément. extend ajoute une liste d'éléments.

Notez que si vous passez une liste à append, il ajoute toujours un élément :

>>> a = [1, 2, 3]
>>> a.append([4, 5, 6])
>>> a
[1, 2, 3, [4, 5, 6]]
Commentaires (0)