Esercitazione sull'elenco vuoto di Python - Come creare un elenco vuoto in Python

Se vuoi imparare come creare un elenco vuoto in Python in modo efficiente, questo articolo è per te.

Imparerai:

  • Come creare un elenco vuoto utilizzando le parentesi quadre [].
  • Come creare un elenco vuoto utilizzando list().
  • I loro casi d'uso.
  • Quanto sono efficienti (uno è più veloce dell'altro!). Useremo il timeitmodulo per confrontarli.

Cominciamo! ✨

🔹 Utilizzo di parentesi quadre

Puoi creare un elenco vuoto con una coppia vuota di parentesi quadre, in questo modo:  

💡 Suggerimento: assegniamo l'elenco vuoto a una variabile per utilizzarlo in seguito nel nostro programma.

Per esempio:

num = []

L'elenco vuoto avrà una lunghezza 0, come puoi vedere qui:

>>> num = [] >>> len(num) 0

Gli elenchi vuoti sono valori falsi , il che significa che vengono valutati Falsein un contesto booleano:

>>> num = [] >>> bool(num) False

Aggiungi elementi a un elenco vuoto

Puoi aggiungere elementi a un elenco vuoto utilizzando i metodi append()e insert():

  • append() aggiunge l'elemento alla fine della lista.
  • insert() aggiunge l'elemento al particolare indice della lista che scegli.

Poiché gli elenchi possono essere valori veri o falsi a seconda che siano vuoti o meno quando vengono valutati, puoi usarli in condizionali come questo:

if num: print("This list is not empty") else: print("This list is empty")

L'output di questo codice è:

This list is empty

Poiché l'elenco era vuoto, viene valutato False.

In generale:

  • Se l'elenco non è vuoto, restituisce True, quindi viene eseguita la clausola if.
  • Se l'elenco è vuoto, restituisce False, quindi viene eseguita la clausola else.

Esempio:

Nell'esempio seguente, creiamo un elenco vuoto e lo assegniamo alla variabile num. Quindi, utilizzando un ciclo for, aggiungiamo una sequenza di elementi (interi) all'elenco che inizialmente era vuoto:

>>> num = [] >>> for i in range(3, 15, 2): num.append(i)

Controlliamo il valore della variabile per vedere se gli elementi sono stati aggiunti correttamente e confermiamo che l'elenco non è più vuoto:  

>>> num [3, 5, 7, 9, 11, 13]

💡 Suggerimento: comunemente usiamo append()per aggiungere il primo elemento a un elenco vuoto, ma puoi anche aggiungere questo elemento chiamando il insert()metodo con indice 0:

>>> num = [] >>> num.insert(0, 1.5) # add the float 1.5 at index 0 >>> num [1.5]

🔸 Utilizzo del costruttore list ()

In alternativa, puoi creare un elenco vuoto con il costruttore del tipo list(), che crea un nuovo oggetto elenco.

Secondo la documentazione di Python:

Se non viene dato alcun argomento, il costruttore crea un nuovo elenco vuoto, [].

💡 Suggerimento: questo crea un nuovo oggetto elenco in memoria e poiché non abbiamo passato alcun argomento a list(), verrà creato un elenco vuoto.

Per esempio:

num = list()

Questo elenco vuoto avrà una lunghezza 0, come puoi vedere qui:

>>> num = list() >>> len(num) 0

Ed è un valore falso quando è vuoto ( restituisceFalse in un contesto booleano):

>>> num = list() >>> bool(num) False

Esempio:

Questo è un elenco completamente funzionale, quindi possiamo aggiungere elementi ad esso:

>>> num = list() >>> for i in range(3, 15, 2): num.append(i)

E il risultato sarà un elenco non vuoto, come puoi vedere qui:

>>> num [3, 5, 7, 9, 11, 13]

🔹 Casi d'uso

  • In genere utilizziamo list()per creare elenchi da iterabili esistenti come stringhe, dizionari o tuple.
  • Vedrai comunemente le parentesi quadre []utilizzate per creare elenchi vuoti in Python perché questa sintassi è più concisa e veloce.

🔸 Efficienza

Aspettare! Ti ho appena detto che []è più veloce di list()...

Ma quanto più velocemente?

Controlliamo la loro efficienza temporale utilizzando il modulo timeit .

Per utilizzare questo modulo nel tuo programma Python, devi importarlo:

>>> import timeit

Nello specifico, useremo la funzione timeit da questo modulo, che puoi chiamare con questa sintassi:

💡 Suggerimento: il codice viene ripetuto più volte per ridurre le differenze di tempo che possono derivare da fattori esterni come altri processi che potrebbero essere in esecuzione in quel particolare momento. Ciò rende i risultati più affidabili ai fini del confronto.

🚦 Sul tuo segno ... preparati ... pronto! Ecco il codice e l'output:

Innanzitutto, importiamo il modulo.

>>> import timeit

Quindi, iniziamo a testare ogni sintassi.

Collaudo []:

>>> timeit.timeit('[]', number=10**4) 0.0008467000000109692

Collaudo list():

>>> timeit.timeit('list()', number=10**4) 0.002867799999989984

💡 Suggerimento: si noti che il codice che si desidera cronometrare deve essere racchiuso tra virgolette singole ''o doppie "". Il tempo restituito dalla timeitfunzione è espresso in secondi.

Confronta questi risultati:

  • []: 0.0008467000000109692
  • list(): 0.002867799999989984

Puoi vedere che []è molto più veloce di list(). C'era una differenza di circa 0.002secondi in questo test:

>>> 0.002867799999989984 - 0.0008467000000109692 0.0020210999999790147

Sono sicuro che te lo stai chiedendo proprio ora: perché è list()meno efficiente che []se facessero esattamente la stessa cosa?

Beh ... list()è più lento perché richiede di cercare il nome della funzione, chiamarla e quindi creare l'oggetto elenco in memoria. Al contrario, []è come una "scorciatoia" che non richiede così tanti passaggi intermedi per creare l'elenco in memoria.

Questa differenza di orario non influirà molto sulle prestazioni del tuo programma, ma è bello sapere quale è più efficiente e come funzionano dietro le quinte.

🔹 In sintesi

È possibile creare un elenco vuoto utilizzando una coppia vuota di parentesi quadre []o il costruttore del tipo list(), una funzione incorporata che crea un elenco vuoto quando non vengono passati argomenti.

Le parentesi quadre []sono comunemente usate in Python per creare elenchi vuoti perché è più veloce e più conciso.

Spero davvero che il mio articolo ti sia piaciuto e che l'abbia trovato utile. Ora puoi creare elenchi vuoti nei tuoi progetti Python. Dai un'occhiata ai miei corsi online. Seguimi su Twitter. ⭐️

Se vuoi approfondire gli elenchi, potresti leggere:

  • Python List Append - Come aggiungere un elemento a un array, spiegato con esempi
  • Il metodo Python Sort List Array - Ascendente e discendente spiegati con esempi
  • Python List Append VS Python List Extend: la differenza spiegata con esempi di metodi array