Qual è la differenza tra i metodi di lista append e extend di Python?

Qual è la differenza tra i metodi di lista append() e extend()?

Soluzione

append: Aggiunge l'oggetto alla fine.

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

ti dà: [1, 2, 3, [4, 5]]


extend: Estende la lista aggiungendo elementi dall'iterabile.

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

ti dà: [1, 2, 3, 4, 5]

Commentari (5)

append aggiunge un elemento ad una lista, e extend concatena la prima lista con un'altra lista (o un altro iterabile, non necessariamente una lista).

>>> 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']
Commentari (0)

append aggiunge un singolo elemento. extend aggiunge una lista di elementi.

Si noti che se si passa una lista da aggiungere, essa aggiunge comunque un elemento:

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