Dátová štruktúra frontu je veľmi známa dátová štruktúra, zoznamy v Pythone zvyčajne pripájajú prvky na koniec zoznamu Python. Na implementáciu dátovej štruktúry frontu je nevyhnutné, aby bolo možné odstrániť predný prvok zo zoznamu. Poďme diskutovať o spôsoboch odstránenia prvého prvku zoznamu.
Metóda 1: Odstráňte prvky zo zoznamov v Pythone pomocou pop()
Táto metóda pop() , t.j. odstráni a vytlačí ithprvok zo zoznamu. Táto metóda sa väčšinou používa medzi ostatnými dostupnými možnosťami na vykonanie tejto úlohy. Tým sa zmení pôvodný zoznam.
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))> |
>
>
Výkon :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metóda 2: Odstráňte prvky zo zoznamov v Pythone pomocou del list[]
Toto je len alternatívna metóda na vykonanie predného vymazania, tento operátor del tiež vykonáva odstránenie prvkov zoznamu na mieste a zmenšuje veľkosť zoznamu o 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))> |
>
>
Výkon :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metóda 3: Odstráňte prvky zo zoznamov v Pythone pomocou Slicingu
Python Slicing je ďalší prístup, ktorým možno tento problém vyriešiť, môžeme rozrezať zoznam od druhého prvku po posledný a priradiť ho k prázdnemu zoznamu. Toto nevykonáva konverziu na mieste ako v prípade vyššie uvedených dvoch metód.
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))> |
>
>
Výkon :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metóda 4: Odstráňte prvky zo zoznamov v Pythone pomocou o čom() + popleft()
Toto je menej známa metóda na dosiahnutie tejto konkrétnej úlohy, konvertovanie zoznamu na deque a potom vykonanie pop vľavo, odstráni prvok z prednej časti zoznamu.
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)))> |
>
>
Výkon :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metóda 5: Odstráňte prvky zo zoznamov v Pythone pomocou remove()
The odstrániť () funkcia umožňuje odstrániť prvý výskyt zadanej hodnoty zo zoznamu. Toto možno použiť na odstránenie hlavnej položky zoznamu. Vyberte prvého člena zo zoznamu a vložte ho do funkcie 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))> |
>
>
Výkon :
c formátovaný reťazec
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>
Metóda:6 pomocou porozumenia zoznamu
krok za krokom algoritmus na implementáciu prístupu
- Zoznam test_list
- Inicializujte prázdny zoznam new_list
- Iterujte prvky v test_liste od druhého prvku:
a. Pripojte aktuálny prvok do new_list - Vrátiť nový_zoznam
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))> |
>
>Výkon
Modified list is : [4, 3, 6, 7]>
Časová zložitosť:
Časová zložitosť tohto prístupu je O(n), kde n je počet prvkov vo vstupnom zozname test_list.
Je to preto, že algoritmus iteruje každý prvok v zozname raz, s výnimkou prvého prvku, ktorý sa preskočí.
Pomocný priestor:
Pomocná priestorová zložitosť tohto prístupu je O(n), kde n je počet prvkov vo vstupnom zozname test_list.
Je to preto, že algoritmus vytvorí nový zoznam new_list na uloženie upravenej verzie vstupného zoznamu, ktorý by potenciálne mohol mať rovnaký počet prvkov ako test_list.
Pomocou numpy.delete():
- Importujte knižnicu numpy
- Vytvorte numpy pole zo zoznamu, ktorý chcete upraviť
- Na odstránenie prvého prvku poľa použite funkciu numpy.delete().
- Skonvertujte upravené numpy pole späť na zoznam
- Vytlačte pôvodný a upravený zoznam
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))> |
>
>
Výkon:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Časová zložitosť:
Časová zložitosť funkcie numpy.delete() je O(n), kde n je počet prvkov v poli numpy. Keďže zoznam tiež konvertujeme na numpy pole a späť na zoznam, celková časová zložitosť tohto prístupu je O(n).
Zložitosť priestoru:
Priestorová zložitosť tohto prístupu je O(n), kde n je počet prvkov vo vstupnom zozname test_list. Je to spôsobené vytvorením numpy poľa.