Nel linguaggio python, le liste servono a memorizzare elementi multipli in una singola variabile. Insieme alle tuple, i set, ed i dizionari, fanno parte dei 4 tipi base del linguaggio python. Le liste in python possono essere create in modi diversi. In questo articolo scopriremo tutti i modi per creare una lista in python.
Essendo il python un linguaggio interpretato, le liste non sono dichiarate in anticipo, ma vengono create al momento della loro definizione, spesso direttamente elencando i loro elementi.
Creare una lista in python usando le parentesi quadre
Un modo standard per creare una lista in python corrisponde nell’elencare i suoi elementi tra parentesi quadre, separandoli con una virgola. Se per esempio vogliamo definire una lista contenenti i numeri interi da 1 a 5, possiamo usare la seguente linea di codice.
l = [0, 1, 2, 3, 4, 5]
Creare una lista in python usante la funzione list()
È possibile definire una lista anche utilizzando la funzione list() predefinita del linguaggio python. Questa funzione prende come argomento un iterabile. Per esempio, possiamo definire come sopra una lista di numeri interi da 0 a 5 sfruttando il comando range(), in questo modo:
l = list( range(6) )
Come avrai notato, abbiamo inserito il valore 6 nella funzione range(), in quanto questa itera tutti i numeri da 0 al valore passato come argomento, quest’ultimo non compreso.
Creare una lista vuota in python
Per creare una lista vuota in python possiamo usare entrambi i metodi scritti sopra. Utilizzando le parentesi, indicheremo la lista vuota con le parentesi quadre aperta e chiusa.
l = []
Analogamente, è suffiente non passare alcun parametro alla funzione list() per definire una lista vuota. Anche la seguente linea di codiche può essere utilizzata per definire una lista vuota.
l = list()
Creare una lista in python con la list comprehension
Un altro modo più complicato ma sicuramente più espressivo di definire le liste in python è mediante le cosiddette list comprehensions. Queste permettono di definire una lista python creando in maniera iterativa i suoi elementi. Per realizzare una lista mediante list comprehension, scriveremo tra parentesi quadre un ciclo for che definisce gli elementi desiderati. Ancora una volta, supponiamo di voler definire una lista con gli elementi interi da 0 a 5.
Mediante la list comprehension, questo si può fare con la seguente linea di codice.
l = [x for x in range(6)]
Obietterete che questo modo è decisamente più complicato delle versioni precedentemente illustrate. Esso però si rivela utile in situazioni più articolate. Supponiamo di voler definire una lista con tutti i numeri pari da 0 a 100 che però non dividono 4. Sarebbe altresì complicato elencarli tutti. Allo stesso modo, non possiamo applicare in maniera semplice la funzione list() in combinazione con la funzione range(). Le list comprehension ci permettono di aggiungere delle condizioni per la selezione degli elementi. La lista richiesta può essere definita come segue.
l = [x for x in range(101) if x%2==0 and x%4!=0]
Quanto scritto sopra si legge “l è la lista di tutti gli elementi x compresi tra 0 e 100 tali che il resto della divisione per 2 è 0 ed il resto della divizione per 4 è diverso da 0”.