Cancella una lista in Python

Rayven Esplanada 30 gennaio 2023
  1. Usa clear() per cancellare una lista in Python
  2. Imposta un valore di lista vuoto per cancellare una lista in Python
  3. Usa del e l’operatore Slice : per cancellare una lista in Python
  4. Moltiplica l’intero lista con 0 per cancellare una lista in Python
Cancella una lista in Python

Questo tutorial mostrerà diversi modi per cancellare una lista in Python.

Usa clear() per cancellare una lista in Python

Il modo più semplice e più ovvio per cancellare una lista in Python è usare il metodo clear(), un metodo predefinito all’interno degli liste Python.

Ad esempio, inizializza una lista con valori interi e usa la funzione clear() per cancellare tutti i valori.

lst = [1, 6, 11, 16]
print(lst)
lst.clear()
print(lst)

Produzione:

[1, 6, 11, 16]
[]
Nota
Questa è una soluzione rapida e semplice per cancellare una lista in Python, ma è compatibile solo con le versioni 3.3 e successive di Python.

Imposta un valore di lista vuoto per cancellare una lista in Python

Un altro modo per cancellare una variabile di lista esistente è impostare una lista vuoto per la variabile utilizzando una coppia vuota di parentesi quadre [].

lst = [1, 6, 11, 16]
print(lst)

lst = []
print(lst)

Produzione:

[1, 6, 11, 16]
[]

Sebbene questo esegua anche un rapido lavoro di cancellazione di una lista, non rimuoverà i valori dell’lista dalla memoria; invece, crea una nuova istanza di una lista e punta all’istanza appena creata.

Se nessun’altra variabile punta ai valori precedenti della variabile di lista, quelle variabili sarebbero irraggiungibili e sarebbero disponibili per la raccolta dei rifiuti.

Questa situazione può essere resa chiara se facciamo in modo che due variabili puntino allo stesso lista e successivamente impostiamo una di queste variabili su una lista vuoto.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst = []
print(lst)
print(lst2)

Produzione:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[1, 6, 11, 16]

Il secondo lista, lst2, è stato impostato al valore di lst, ma anche dopo aver impostato il nuovo valore lst su una lista vuoto, l’lista lst2 conserva ancora i vecchi valori di prima. In questo caso, i valori precedenti non sono idonei per la garbage collection poiché è ancora presente una variabile che punta ad esso.

Usa del e l’operatore Slice : per cancellare una lista in Python

La parola chiave Python del viene utilizzata per eliminare completamente gli oggetti ei loro riferimenti in memoria. La parola chiave del viene utilizzata per eliminare oggetti Python, iterabili, porzioni di liste, ecc.

L’operatore due punti : in Python è un operatore utilizzato per suddividere gli array in parti che accettano due argomenti interi.

L’operatore : viene utilizzato per ottenere il riferimento effettivo dell’lista per la cancellazione.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

del lst[:]
print(lst)
print(lst2)

Un’altra soluzione che farà la stessa cosa senza usare la parola chiave del sarebbe quella di impostare l’lista come una lista vuoto ma utilizzare l’operatore : per sostituire il riferimento precedente con l’lista vuoto.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst[:] = []
print(lst)
print(lst2)

L’output di entrambe le soluzioni è il seguente:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

Dall’esempio precedente, si nota che l’impostazione di una variabile di lista esistente su una lista vuoto non elimina effettivamente i valori precedenti. Questa soluzione eliminerà completamente i valori precedenti anche se altre variabili puntano allo stesso riferimento dei valori all’interno dell’lista principale.

Moltiplica l’intero lista con 0 per cancellare una lista in Python

Il metodo più rapido per cancellare una lista sarebbe moltiplicare l’intero lista per 0. Moltiplicando la variabile della lista stessa con 0, la lista verrà cancellata e il suo riferimento precedente in memoria.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst *= 0
print(lst)
print(lst2)

Produzione:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

Questo metodo è la soluzione più rapida tra tutte le soluzioni menzionate.

In sintesi, il modo più ovvio per cancellare una lista è usare la funzione incorporata clear() nelle liste, anche se la soluzione più rapida sarebbe moltiplicare la variabile della lista con il valore 0.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

Articolo correlato - Python List