L'estructura de dades de la cua és una estructura de dades molt coneguda, les llistes de Python solen afegir els elements al final de la llista de Python. Per implementar una estructura de dades de cua, és essencial poder eliminar l'element frontal d'una llista. Parlem de les maneres d'eliminar el primer element de la llista.
Mètode 1: elimina elements de les llistes a Python mitjançant pop()
Aquest mètode pop(), és a dir, elimina i imprimeix el fitxer ithelement de la llista. Aquest mètode s'utilitza principalment entre les altres opcions disponibles per realitzar aquesta tasca. Això canvia la llista original.
Python 3
# 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))> |
>
>
Sortida:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Mètode 2: elimina elements de les llistes a Python mitjançant del list[]
Aquest és només el mètode alternatiu per realitzar la supressió frontal, aquest operador del també realitza l'eliminació dels elements de la llista al seu lloc i disminueix la mida de la llista en 1.
Python 3
# 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))> |
>
>
Sortida:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Mètode 3: elimineu els elements de les llistes a Python mitjançant Slicing
Python Slicing és un altre enfocament pel qual es pot resoldre aquest problema, podem tallar la llista del segon element a l'últim i assignar-la a la llista buida. Això no fa la conversió in situ com en el cas dels dos mètodes anteriors.
Python 3
# 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))> |
>
>
Sortida:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Mètode 4: elimina elements de les llistes a Python utilitzant que() + popleft()
Aquest és un mètode menys conegut per aconseguir aquesta tasca en particular, convertint la llista en deque i després fent el pop esquerre, elimina l'element del capdavant de la llista.
Python 3
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)))> |
>
>
Sortida:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Mètode 5: Eliminar elements de les llistes a Python mitjançant remove()
El eliminar () La funció us permet eliminar la primera instància d'un valor especificat de la llista. Això es pot utilitzar per eliminar l'element principal de la llista. Trieu el primer membre de la llista i introduïu-lo a la funció remove().
Python 3
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))> |
>
>
Sortida:
upcasting
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>
Mètode: 6 utilitzant la comprensió de llistes
algorisme pas a pas per implementar l'enfocament
- Una llista test_list
- Inicialitzar una llista buida new_list
- Itereu sobre els elements de test_list a partir del segon element:
a. Afegeix l'element actual a new_list - Retorna new_list
Python 3
# 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))> |
>
>Sortida
Modified list is : [4, 3, 6, 7]>
Complexitat temporal:
La complexitat temporal d'aquest enfocament és O(n), on n és el nombre d'elements de la llista d'entrada llista_test.
Això es deu al fet que l'algoritme itera cada element de la llista una vegada, excepte el primer element, que s'omet.
Espai auxiliar:
La complexitat de l'espai auxiliar d'aquest enfocament és O(n), on n és el nombre d'elements de la llista d'entrada llista_test.
Això es deu al fet que l'algoritme crea una nova llista new_list per emmagatzemar la versió modificada de la llista d'entrada, que podria tenir el mateix nombre d'elements que test_list.
Utilitzant numpy.delete():
- Importa la biblioteca numpy
- Creeu una matriu numpy de la llista a modificar
- Utilitzeu la funció numpy.delete() per eliminar el primer element de la matriu
- Torneu a convertir la matriu numpy modificada en una llista
- Imprimeix les llistes originals i modificades
Python 3
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))> |
>
>
Sortida:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Complexitat temporal:
La complexitat temporal de la funció numpy.delete() és O(n), on n és el nombre d'elements de la matriu numpy. Com que també convertim la llista a una matriu numpy i tornem a una llista, la complexitat temporal global d'aquest enfocament és O(n).
Complexitat espacial:
La complexitat espacial d'aquest enfocament és O(n), on n és el nombre d'elements a la llista d'entrada llista_test. Això es deu a la creació de la matriu numpy.