Qual è la differenza append ed extend per liste Python

di Lorenzo Neri
21 visualizzazioni

Qual è la differenza fra i metodi append ed extend per le liste Python? In questo articolo scopriamo quali sono.

All’interno di Python, se si utilizzano le liste, abbiamo diversi metodi built-in a nostra disposizione: fra questi ci sono “append” ed “extend”.

Se sei qua ti starai quando quale sia la differenza fra questi due metodi quando si tratta di usare le liste.

Che cosa fa il metodo “append” ad una lista?

Il metodo “append” come suggerisce il nome stesso, appende.

Per “appendere”, intendiamo che inserire in coda alla lista su cui stiamo operando, l’elemento che desideriamo aggiungere.

Per fartela breve:

lista = [1, 2, 3]
lista.append(4)

Dopo quell’operazione, il contenuto di “lista” sarà:

print(lista)
>>> [1, 2, 3, 4]

Infatti, il “4” viene accodato agli elementi già presenti alla lista.

Ma proviamo ad aggiungerne due di elementi a questo giro, per intenderci:

lista.append([5,6])
print(lista)
>>> [1, 2, 3, 4, [5, 6] ]

Non è quello che ti aspettavi vero?

Procediamo nel nostro discorso.

Che cosa fa il metodo “extend” ad una lista?

Ripercorriamo gli stessi passi di prima:

lista = [1, 2, 3]
lista.extend(4)

print(lista)

>>> [1, 2, 3, 4]

Non mi pare ci sia troppa differenza. Infatti anche il metodo “extend” aggiunge in coda gli elementi indicati alla lista su cui si sta operando: ma sta qua la differenza a cui vogliamo arrivare.

La sottile differenza fra i metodi append ed extend

Ripercorriamo ancora una volta i passi fatti prima, questa volta con il secondo esempio:

lista = [1, 2, 3, 4]
lista.extend([5, 6])

Che cosa succederà mai?

Proviamo un po’ a stampare a video il risultato:

print(lista)
>>> [1, 2, 3, 4, 5, 6]

È quello che ti aspetteresti giusto?

Bene: cerchiamo di capirne il perchè di questa differenza.

Gli iterabili sono la differenza fra i metodi append ed extend

Le liste, fanno parte dei tipi iterabili all’interno del mondo di Python.

Il metodo “extend” infatti opera su di essi in maniera diretta rispetto ad “append”.

Se riceve un iterabile come argomento, quindi come elemento da accodare alla lista, lui non accoda l’iterabile, quindi la lista stessa.

Si occupa di estrarre gli elementi che la compongono, quindi preleva gli elementi dall’iterabile (la lista che vogliamo accodare) e li accoda.

Questa è la differenza fra i due metodi quando si tratta di usarli sulle liste.

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più