logo

Python – Odstraňte první prvek seznamu

Datová struktura fronty je velmi známá datová struktura, seznamy v Pythonu obvykle připojují prvky na konec seznamu Python . Pro implementaci datové struktury fronty je nezbytné mít možnost odstranit přední prvek ze seznamu. Pojďme diskutovat o způsobech odstranění prvního prvku seznamu.

Metoda 1: Odebrání prvků ze seznamů v Pythonu pomocí pop()

Tato metoda pop() , tj. odstraní a vytiskne ičtprvek ze seznamu. Tato metoda se většinou používá mezi ostatními dostupnými možnostmi k provedení tohoto úkolu. Tím se změní původní 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))>

>

>

Výstup :

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

Metoda 2: Odebrání prvků ze seznamů v Pythonu pomocí del list[]

Toto je pouze alternativní metoda k provedení předního odstranění, tento operátor del také provede odstranění prvků seznamu na místě a zmenší velikost seznamu 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ýstup :

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

Metoda 3: Odebrání prvků ze seznamů v Pythonu pomocí krájení

Python Slicing je další přístup, kterým lze tento problém vyřešit, můžeme rozdělit seznam od druhého prvku po poslední a přiřadit jej k prázdnému seznamu. To neprovádí konverzi na místě jako v případě výše uvedených dvou 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))>

>

>

Výstup :

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

Metoda 4: Odebrání prvků ze seznamů v Pythonu pomocí o čem() + popleft()

Toto je méně známá metoda, jak dosáhnout tohoto konkrétního úkolu, převedením seznamu na deque a poté provedením pop left, odstraní prvek z přední části seznamu.

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ýstup :

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

Metoda 5: Odebrání prvků ze seznamů v Pythonu pomocí remove()

The odstranit() Funkce umožňuje odstranit první výskyt zadané hodnoty ze seznamu. To lze použít k odstranění hlavní položky seznamu. Vyberte prvního člena ze seznamu a vložte jej do funkce 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ýstup :

c ukázkové programy programování
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>

Metoda:6 pomocí porozumění seznamu

krok za krokem algoritmus pro implementaci přístupu

  1. Seznam test_list
  2. Inicializujte prázdný seznam new_list
  3. Iterujte prvky v test_listu počínaje druhým prvkem:
    A. Připojte aktuální prvek k new_list
  4. Vrátit 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))>

>

>

Výstup

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

Časová složitost:

Časová složitost tohoto přístupu je O(n), kde n je počet prvků ve vstupním seznamu test_list.
Algoritmus totiž iteruje každý prvek v seznamu jednou, s výjimkou prvního prvku, který je přeskočen.
Pomocný prostor:

Pomocná prostorová složitost tohoto přístupu je O(n), kde n je počet prvků ve vstupním seznamu test_list.
Důvodem je to, že algoritmus vytvoří nový seznam new_list pro uložení upravené verze vstupního seznamu, který může mít potenciálně stejný počet prvků jako test_list.

Pomocí numpy.delete():

  1. Importujte knihovnu numpy
  2. Vytvořte numpy pole ze seznamu, který chcete upravit
  3. Pomocí funkce numpy.delete() odstraňte první prvek pole
  4. Převeďte upravené numpy pole zpět na seznam
  5. Vytiskněte původní a upravené seznamy

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ýstup:

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

Časová složitost:
Časová složitost funkce numpy.delete() je O(n), kde n je počet prvků v poli numpy. Protože seznam také převádíme na numpy pole a zpět na seznam, je celková časová složitost tohoto přístupu O(n).

Složitost prostoru:
Prostorová složitost tohoto přístupu je O(n), kde n je počet prvků ve vstupním seznamu test_list. To je způsobeno vytvořením numpy pole.