Append di Python: ampliare le liste facilmente

Il metodo append può essere usato per aggiungere un elemento in fondo a una lista di Python. Se desideri inserire più elementi contemporaneamente o aggiungere un elemento a un determinato indice puoi usare il metodo Python extend e Python insert.

Il metodo append di Python: come funziona?

Il metodo append ti consente di aggiungere un elemento alla fine di una lista preesistente. L’elemento da aggiungere può contenere qualsiasi tipo di dato. Ad esempio, puoi compilare le liste Python con tipi di dati semplici (come numeri interi, numeri in virgola mobile, ecc.) oppure con tipi di dati più complessi (ad esempio con altre liste).

Tale metodo presenta la seguente sintassi:

lista.append(elemento)
Python

Qui lista è il nome della lista, mentre elemento è l’elemento da aggiungere. Nel seguente esempio, elementi di diversi tipi di dati vengono aggiunti alla stessa lista:

lista = [1, 2, 3]
lista.append(4)
numero = "cinque"
lista.append(numero)
print(lista)   # Output: [1, 2, 3, 4, 'cinque']
Python

Com’è possibile vedere nell’esempio sopra, append() consente di aggiungere un elemento di un tipo di dati a piacere a una lista in Python. Puoi inserire l’elemento da aggiungere direttamente come parametro o specificarlo prima come variabile e poi passare la variabile. Provando tuttavia ad aggiungere più elementi contemporaneamente mediante append(), questo metodo mostra dei limiti. L’esempio qui sotto chiarisce il perché:

lista2 = [6, 7]
lista.append(lista2)
print(lista)   # output: [1, 2, 3, 4, 'cinque', [6, 7]]
Python

In questo caso la lista lista2 viene passata come parametro quando viene chiamato il metodo. Invece di aggiungere all’altra lista gli elementi contenuti in lista2, il metodo aggiunge semplicemente lista2 come singolo elemento. In tal modo viene a crearsi una lista scorretta, diversamente da quanto voluto. Puoi risolvere questo problema iterando con un ciclo for su Python sulla lista2 e inserendo ogni singolo elemento.

for numero in lista2:
    lista.append(numero)
print(lista)    # Output: [1, 2, 3, 4, 'cinque', [6, 7], 6, 7]
Python

Questa soluzione non è la migliore. Pertanto in casi come questo sarebbe meglio utilizzare extend di Python, in quanto può aggiungere più elementi contemporaneamente a una lista.

Impiego su altre strutture di dati

Nonostante il metodo append di Python sia quello più usato per gestire le varie liste, può essere usato anche con altre strutture di dati comuni. Tuttavia, ci sono un paio di differenze importanti alle quali fare attenzione.

Array

Gli array in Python non appartengono alla libreria standard e devono essere importati da un modulo Python esterno come numpy o array. Se per te è importante garantire l’efficienza della memoria e la RAM del tuo computer, allora gli array rappresentano spesso una scelta ideale. Gli array sono un po’ più limitati poiché possono solo contenere elementi che hanno lo stesso tipo di dato. Questo tipo di dati viene stabilito durante la creazione dell’array. Di conseguenza, con il metodo append è impossibile aggiungere a un array elementi di diverso tipo. L’esempio di seguito evidenzia come:

import numpy as np
array1 = np.array('i', [100, 101, 102])
array1.append(103)
print(array1)
array1.append('a')   # Questa riga crea un messaggio di errore
Python

Inoltre, è importante ricordare che gli array hanno una lunghezza fissa, la quale viene impostata quando viene creata la struttura dati e che non può essere modificata in seguito. Creando quindi l’array [1, 2, 3, 4, 5], questo ha una lunghezza pari a 5. Mediante append(), Python permette di aggiungere un ulteriore elemento a un array. Tuttavia, in background l’intero array viene cancellato e ricostruito con l’elemento aggiuntivo. È necessario tenere in considerazione questo aspetto se si vogliono usare le risorse del sistema in modo efficiente.

Deque

Anche per le strutture di dati deque esiste un metodo append che si comporta in modo molto simile alle liste e agli array. Un deque (abbreviazione di double-ended queue) è un elenco in cui è possibile aggiungere o rimuovere elementi alla fine o all’inizio della lista. In questo caso il metodo append si comporta in modo identico a quello di una lista, ma esiste anche un metodo aggiuntivo, appendleft(). A differenza di append(), questo metodo inserisce l’elemento sul lato sinistro della deque.

from collections import deque
numeri_naturali = deque([1, 2, 3])
numeri_naturali.append(4)
numeri_naturali.appendleft(0)
print(numeri_naturali)   # Output: deque([0, 1, 2, 3, 4])
Python

Esempio di utilizzo: come usare append()

Sebbene sia possibile utilizzare il metodo append di Python solo per aggiungere singoli elementi alla fine di un elenco, tale metodo è perfetto se desideri eseguire altri passaggi aggiungendo un elemento. Un altro caso viene illustrato nel seguente esempio: qui è presente un elenco di grandi numeri. Ogni numero viene diviso per 7 e il numero restante viene aggiunto a una seconda lista.

grandi_numeri = [2141, 5683, 456, 789, 120, 101, 89005]
numero restante  = []
for numero in grandi_numeri:
    numero restante.append(numero % 7)
print(grandi_numeri)    # Output: [2141, 5683, 456, 789, 120, 101, 89005]
print(numero restante)    # Output: [6, 6, 1, 5, 1, 3, 0]
Python

Come puoi vedere, append() è un metodo molto utile se gli elementi vengono aggiunti e trattati singolarmente.

Consiglio

Desideri gestire il tuo sito web o un’altra applicazione web in modo rapido, semplice e diretto tramite Git? Allora Deploy Now di IONOS è la piattaforma perfetta per te.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.