logo

Python – Odstrani prvi element seznama

Podatkovna struktura čakalne vrste je zelo znana podatkovna struktura, seznami v Pythonu običajno dodajo elemente na konec seznama Python. Za implementacijo podatkovne strukture čakalne vrste je bistveno, da lahko odstranite sprednji element s seznama. Pogovorimo se o načinih odstranitve prvega elementa seznama.

1. način: Odstranite elemente s seznamov v Pythonu s pop()

Ta metoda pop(), tj. odstrani in natisne ithelement s seznama. Ta metoda se večinoma uporablja med drugimi razpoložljivimi možnostmi za izvedbo te naloge. To spremeni prvotni seznam.



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))>

>

>

Izhod:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

2. način: Odstranite elemente s seznamov v Pythonu z uporabo del list[]

To je le nadomestna metoda za izvedbo sprednjega brisanja, ta del operator izvede tudi odstranitev elementov seznama na mestu in zmanjša velikost seznama za 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))>

>

>

Izhod:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

3. način: Odstranite elemente s seznamov v Pythonu z uporabo rezanja

Rezanje v Pythonu je še en pristop, s katerim je mogoče rešiti ta problem, lahko razrežemo seznam od drugega elementa do zadnjega in ga dodelimo praznemu seznamu. To ne izvede pretvorbe na mestu kot v primeru zgornjih dveh metod.

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))>

>

>

Izhod:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

4. način: Odstranite elemente s seznamov v Pythonu z uporabo o čem() + popleft()

To je manj znana metoda za doseganje te posebne naloge, pretvorba seznama v deque in nato izvajanje pop levo, odstrani element s sprednje strani seznama.

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)))>

>

>

Izhod:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

5. način: Odstranite elemente s seznamov v Pythonu z uporabo remove()

The Odstrani() vam omogoča, da s seznama odstranite prvi primerek določene vrednosti. To lahko uporabite za odstranitev zgornjega elementa seznama. Izberite prvega člana s seznama in ga vnesite v funkcijo remove().

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))>

>

>

Izhod:

.enako java
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>

Metoda:6 z uporabo razumevanja seznama

algoritem po korakih za izvajanje pristopa

  1. Seznam test_list
  2. Inicializirajte prazen seznam new_list
  3. Ponovite elemente v test_list, začenši z drugim elementom:
    a. Dodajte trenutni element na new_list
  4. Vrni nov_seznam

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))>

>

>

Izhod

Modified list is : [4, 3, 6, 7]>

Časovna zahtevnost:

Časovna kompleksnost tega pristopa je O(n), kjer je n število elementov na vhodnem seznamu test_list.
To je zato, ker algoritem enkrat ponovi vsak element na seznamu, razen prvega elementa, ki je preskočen.
Pomožni prostor:

Kompleksnost pomožnega prostora tega pristopa je O(n), kjer je n število elementov na vhodnem seznamu test_list.
To je zato, ker algoritem ustvari nov seznam new_list za shranjevanje spremenjene različice vhodnega seznama, ki bi lahko imel enako število elementov kot test_list.

Uporaba numpy.delete():

  1. Uvozite knjižnico numpy
  2. Ustvarite matriko numpy s seznama, ki ga želite spremeniti
  3. Uporabite funkcijo numpy.delete(), da odstranite prvi element matrike
  4. Spremenjeno matriko numpy pretvori nazaj v seznam
  5. Natisnite izvirne in spremenjene sezname

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))>

>

>

Izhod:

Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>

Časovna zahtevnost:
Časovna kompleksnost funkcije numpy.delete() je O(n), kjer je n število elementov v matriki numpy. Ker tudi seznam pretvorimo v matriko numpy in nazaj v seznam, je splošna časovna zapletenost tega pristopa O(n).

Kompleksnost prostora:
Prostorska kompleksnost tega pristopa je O(n), kjer je n število elementov na vhodnem seznamu test_list. To je posledica ustvarjanja matrike numpy.