Operazioni di Base sulle Liste in Python

In questa lezione vedremo alcune operazioni di base che è possibile applicare alle liste in python.

Vedremo come conoscere la lunghezza di una lista, come concatenare due liste e come ripetere una lista un numero prefissato di volte. Inoltre vedremo come rimuovere un elemento da una lista.

Lunghezza di una Lista

La prima operazione di base che vedremo è quella per conoscere la lunghezza di una lista.

In python esiste la funzione incorporata len che permette di conoscere il numero di elementi memorizzati in un qualsiasi contenitore, in inglese container.

Un contenitore è una struttura dati le cui istanze sono sostanzialmente collezioni di elementi o oggetti.

In tal senso, una lista è un contenitore, pertanto possiamo invocare la funzione len per conoscere il numero di elementi che essa contiene.

>>> lista = [1, 2, 3, 4, 5]
>>> len(lista)
5
Definizione

Lunghezza di una lista

In python è possibile conoscere la lunghezza di una lista invocando la funzione len. La sintassi è la seguente:

lunghezza = len(lista)

Concatenazione di Liste

Un'altra operazione di base che è possibile applicare a due liste è la concatenazione. In particolare, usando l'operatore + è possibile unire due liste in una sola.

>>> lista1 = [1, 2, 3]
>>> lista2 = [4, 5, 6]
>>> lista3 = lista1 + lista2
>>> print(lista3)
[1, 2, 3, 4, 5, 6]

Bisogna notare che il risultato della concatenazione è una lista nuova. L'operatore di concatenazione +, infatti, non modifica gli operandi, ossia le liste originali.

Inoltre, bisogna ricordare che la concatenazione può essere applicata solo a liste. Non è possibile usare la concatenazione per unire una lista con un altro tipo di dato, a meno che quest'ultimo non sia stato convertito in una lista.

Definizione

Concatenazione di liste

In python è possibile concatenare due liste usando l'operatore +. La sintassi è la seguente:

lista3 = lista1 + lista2

La concatenazione non modifica le liste operando, ma crea una nuova lista.

Aggiunta di un elemento ad una lista tramite concatenazione

Possiamo sfruttare l'operazione di concatenazione per aggiungere un elemento alla fine di una lista.

Ad esempio, possiamo aggiungere un elemento alla lista lista usando la seguente sintassi:

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

In questo caso, la lista lista_nuova è una nuova lista che contiene gli stessi elementi della lista lista e in più l'elemento 4.

Tuttavia, usando l'operazione di concatenazione abbiamo creato una lista completamente nuova. Quindi, come metodo per aumentare il numero di elementi di una lista non è del tutto ottimale. Nella prossima lezione vedremo come aggiungere un elemento ad una lista senza dover creare una nuova lista.

Ripetizione di una lista

In python è possibile anche creare una nuova lista come ripetizione di una lista esistente. Si può, infatti, usare l'operatore * per ripetere una lista un numero di volte specificato.

>>> lista = [1, 2, 3]
>>> lista_ripetuta = lista * 3
>>> print(lista_ripetuta)
[1, 2, 3, 1, 2, 3, 1, 2, 3]

Nell'esempio di sopra abbiamo creato una nuova lista che contiene tre volte la lista originale. Anche in questo caso, il risultato della ripetizione è una lista nuova in quanto l'operatore di ripetizione non modifica la lista originale.

Definizione

Ripetizione di una lista

In python è possibile ripetere una lista usando l'operatore *. La sintassi è la seguente:

lista_ripetuta = lista * n

Cancellazione di un elemento da una lista

In python è possibile cancellare un elemento da una lista usando l'istruzione del. L'istruzione del è una istruzione di eliminazione e non si tratta di una funzione.

Prendiamo un esempio. Supponiamo di avere la lista seguente:

>>> lista = [10, 20, 30, 40, 50]

Controlliamo il numero di elementi con la funzione len:

>>> len(lista)
5

Vogliamo eliminare il terzo elemento. Possiamo usare l'istruzione del in questo modo:

>>> del lista[2]
>>> print(lista)
[10, 20, 40, 50]

A questo punto, se proviamo a controllare la lunghezza della lista otteniamo il risultato seguente:

>>> len(lista)
4

Quindi abbiamo eliminato un elemento, in quanto la lista ne ha adesso 4.

La prima cosa da notare è che del è un'istruzione e non è una funzione. Quindi non è necessario usare le parentesi per invocarla. Possiamo, infatti, usarla usando le due sintassi seguenti:

del lista[2]
del(lista[2])

Seconda cosa da notare è che applicando l'istruzione del ad un elemento di una lista, tutti gli elementi che si trovano alla sua immediata destra vengono spostati di una posizione a sinistra.

Infatti, se in origine la lista aveva questa struttura:

+----+----+----+----+----+
| 10 | 20 | 30 | 40 | 50 |
+----+----+----+----+----+
  0    1    2    3    4

dopo l'eliminazione dell'elemento in posizione 2, la lista avrà questa struttura:

+----+----+----+----+
| 10 | 20 | 40 | 50 |
+----+----+----+----+
  0    1    2    3

Quindi, gli elementi 40 e 50 non avranno più gli indici 3 e 4, ma 2 e 3.

Definizione

Eliminazione di un elemento da una lista

In python è possibile eliminare un elemento da una lista usando l'istruzione del. La sintassi è la seguente:

del lista[indice]

Quando si elimina un elemento da una lista, tutti gli elementi che si trovano alla sua destra vengono spostati di una posizione a sinistra.

In Sintesi

In questa lezione abbiamo studiato alcune delle operazioni di base che è possibile effettuare su di una lista in linguaggio Python. In particolare abbiamo visto:

  • Come ottenere la lunghezza di una lista usando la funzione len;
  • Come concatenare due liste usando l'operatore di concatenazione: +;
  • Come ripetere una lista usando l'operatore di ripetizione: *;
  • Come eliminare un elemento da una lista usando l'istruzione del.

Nella prossima lezione studieremo alcuni dei metodi, ossia di funzioni che possono essere applicate ad un oggetto, che sono disponibili per le liste.