La struttura dati della coda è una struttura dati molto conosciuta, le liste in Python solitamente aggiungono gli elementi alla fine della lista Python. Per implementare una struttura dati di coda, è essenziale poter rimuovere l'elemento anteriore da un elenco. Parliamo delle modalità per rimuovere il primo elemento dell'elenco.
Metodo 1: rimuovere elementi dagli elenchi in Python utilizzando pop()
Questo metodo pop(), ovvero rimuove e stampa il file ithelemento dall'elenco. Questo metodo viene utilizzato principalmente tra le altre opzioni disponibili per eseguire questa attività. Ciò modifica l'elenco originale.
Python3
# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using pop(0) to perform removal> test_list.pop(>0>)> # Printing modified list> print>(>'Modified list is : '> +> str>(test_list))> |
>
>
Produzione :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metodo 2: rimuovere elementi dagli elenchi in Python utilizzando del list[]
Questo è solo il metodo alternativo per eseguire l'eliminazione iniziale, questo operatore del esegue anche la rimozione degli elementi dell'elenco presenti e diminuisce la dimensione dell'elenco di 1.
Python3
# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using del list[0] to perform removal> del> test_list[>0>]> # Printing modified list> print>(>'Modified list is : '> +> str>(test_list))> |
>
>
Produzione :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metodo 3: rimuovere elementi dagli elenchi in Python utilizzando lo slicing
Affettatura di pitone è un altro approccio con cui è possibile risolvere questo problema, possiamo suddividere l'elenco dal secondo all'ultimo elemento e assegnarlo all'elenco vuoto. Ciò non esegue la conversione sul posto come nel caso dei due metodi precedenti.
Python3
# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using slicing to perform removal> res>=> test_list[>1>:]> # Printing modified list> print>(>'Modified list is : '> +> str>(res))> |
>
>
Produzione :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metodo 4: rimuovere gli elementi dagli elenchi in Python utilizzando riguardo a cosa() + popleft()
Questo è un metodo meno conosciuto per raggiungere questo compito particolare, convertendo l'elenco in deque e quindi eseguendo il pop left, rimuove l'elemento dalla parte anteriore dell'elenco.
Python3
from> collections>import> deque> # initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # using deque() + popleft() to> # perform removal> res>=> deque(test_list)> res.popleft()> # Printing modified list> print>(>'Modified list is : '> +> str>(>list>(res)))> |
>
>
Produzione :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metodo 5: Rimuovi elementi dagli elenchi in Python usando rimuovi()
IL rimuovere() La funzione consente di rimuovere la prima istanza di un valore specificato dall'elenco. Questo può essere utilizzato per rimuovere l'elemento in cima all'elenco. Scegli il primo membro dall'elenco e inseriscilo nella funzioneremove().
Python3
test_list>=> [>1>,>4>,>3>,>6>,>7>,>10>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # Remove first element from list in python> test_list.remove(test_list[>0>])> # Printing modified list> print>(>'Modified list is : '> +> str>(test_list))> |
>
>
Produzione :
interfaccia comparabile con Java
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>
Metodo:6 utilizzando la comprensione dell'elenco
algoritmo passo-passo per l'implementazione dell'approccio
- Un elenco test_list
- Inizializza una lista vuota nuova_lista
- Itera sugli elementi in test_list a partire dal secondo elemento:
UN. Aggiungi l'elemento corrente a new_list - Restituisce nuova_lista
Python3
# initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # remove first element using list comprehension> new_list>=> [x>for> x>in> test_list[>1>:]]> # print the new list> print>(>'Modified list is : '> +> str>(new_list))> |
>
>Produzione
Modified list is : [4, 3, 6, 7]>
Complessità temporale:
La complessità temporale di questo approccio è O(n), dove n è il numero di elementi nell'elenco di input test_list.
Questo perché l'algoritmo esegue l'iterazione su ogni elemento dell'elenco una volta, ad eccezione del primo elemento, che viene saltato.
Spazio ausiliario:
La complessità dello spazio ausiliario di questo approccio è O(n), dove n è il numero di elementi nell'elenco di input test_list.
Questo perché l'algoritmo crea una nuova lista new_list per memorizzare la versione modificata della lista di input, che potrebbe potenzialmente avere lo stesso numero di elementi di test_list.
Utilizzando numpy.delete():
- Importa la libreria Numpy
- Crea un array Numpy dall'elenco da modificare
- Utilizza la funzione numpy.delete() per rimuovere il primo elemento dell'array
- Converti nuovamente l'array numpy modificato in un elenco
- Stampa gli elenchi originali e modificati
Python3
import> numpy as np> # initializing list> test_list>=> [>1>,>4>,>3>,>6>,>7>]> # Printing original list> print>(>'Original list is : '> +> str>(test_list))> # Convert list to numpy array> np_array>=> np.array(test_list)> # Use numpy.delete() to remove first element> modified_np_array>=> np.delete(np_array,>0>)> # Convert numpy array back to list> modified_list>=> modified_np_array.tolist()> # Printing modified list> print>(>'Modified list is : '> +> str>(modified_list))> |
>
>
Produzione:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Complessità temporale:
La complessità temporale della funzione numpy.delete() è O(n), dove n è il numero di elementi nell'array numpy. Poiché convertiamo anche l'elenco in un array numpy e di nuovo in un elenco, la complessità temporale complessiva di questo approccio è O(n).
Complessità spaziale:
La complessità spaziale di questo approccio è O(n), dove n è il numero di elementi nell'elenco di input test_list. Ciò è dovuto alla creazione dell'array Numpy.