Eilių duomenų struktūra yra labai gerai žinoma duomenų struktūra, Python sąrašai paprastai prideda elementus prie Python sąrašo pabaigos. Norint įgyvendinti eilės duomenų struktūrą, būtina turėti galimybę pašalinti priekinį elementą iš sąrašo. Aptarkime pirmojo sąrašo elemento pašalinimo būdus.
1 būdas: pašalinkite elementus iš Python sąrašų naudodami pop()
Šis pop() metodas, ty pašalina ir išspausdina ithelementas iš sąrašo. Šis metodas dažniausiai naudojamas tarp kitų galimų variantų šiai užduočiai atlikti. Tai pakeičia pradinį sąrašą.
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))> |
>
>
Išvestis:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
2 būdas: pašalinkite elementus iš Python sąrašų naudodami del list[]
Tai tik alternatyvus priekinio ištrynimo būdas, šis del operatorius taip pat pašalina sąrašo elementus vietoje ir sumažina sąrašo dydį 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))> |
>
>
Išvestis:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
3 būdas: pašalinkite elementus iš Python sąrašų naudodami pjaustymą
Python pjaustymas yra kitas būdas išspręsti šią problemą, sąrašą galime suskirstyti nuo antrojo elemento iki paskutinio ir priskirti jį tuščiam sąrašui. Tai neatlieka konversijos vietoje, kaip ir pirmiau minėtų dviejų metodų atveju.
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))> |
>
>
Išvestis:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
4 būdas: pašalinkite elementus iš Python sąrašų naudodami apie ką() + popleft ()
Tai yra mažiau žinomas būdas šiai konkrečiai užduočiai atlikti, paverčiant sąrašą į deque, o tada atlikus iššokimą į kairę, elementas pašalinamas iš sąrašo priekio.
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)))> |
>
>
Išvestis:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
5 būdas: Pašalinkite elementus iš Python sąrašų naudodami Remove ()
The pašalinti () funkcija leidžia pašalinti pirmą nurodytos reikšmės atvejį iš sąrašo. Tai gali būti naudojama norint pašalinti svarbiausią sąrašo elementą. Iš sąrašo pasirinkite pirmąjį narį ir pateikite jį funkcijai pašalinti ().
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))> |
>
>
Išvestis:
metodo poeilutė java
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>
Metodas: 6 naudojant Sąrašo supratimą
žingsnis po žingsnio metodo įgyvendinimo algoritmas
- Sąrašas test_list
- Inicijuoti tuščią sąrašą new_list
- Pakartokite elementus test_list, pradedant nuo antrojo elemento:
a. Pridėti dabartinį elementą prie new_list - Grąžinti new_list
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))> |
>
>Išvestis
Modified list is : [4, 3, 6, 7]>
Laiko sudėtingumas:
Šio metodo sudėtingumas laike yra O(n), kur n yra elementų skaičius įvesties sąraše test_list.
Taip yra todėl, kad algoritmas kartoja kiekvieną sąrašo elementą vieną kartą, išskyrus pirmąjį elementą, kuris praleidžiamas.
Pagalbinė erdvė:
Šio metodo pagalbinės erdvės sudėtingumas yra O(n), kur n yra elementų skaičius įvesties sąraše test_list.
Taip yra todėl, kad algoritmas sukuria naują sąrašą new_list, kuriame saugoma pakeista įvesties sąrašo versija, kurioje gali būti toks pat elementų skaičius kaip test_list.
Naudojant numpy.delete():
- Importuokite numpy biblioteką
- Iš sąrašo, kurį norite keisti, sukurkite numpy masyvą
- Norėdami pašalinti pirmąjį masyvo elementą, naudokite funkciją numpy.delete().
- Konvertuokite pakeistą numpy masyvą atgal į sąrašą
- Išspausdinkite originalų ir pakeistą sąrašą
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))> |
>
>
Išvestis:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Laiko sudėtingumas:
Funkcijos numpy.delete() laiko sudėtingumas yra O(n), kur n yra elementų skaičius numpy masyve. Kadangi sąrašą taip pat konvertuojame į neryškų masyvą ir atgal į sąrašą, bendras šio metodo sudėtingumas laiko atžvilgiu yra O (n).
Erdvės sudėtingumas:
Šio metodo erdvės sudėtingumas yra O(n), kur n yra elementų skaičius įvesties sąraše test_list. Taip yra dėl to, kad buvo sukurtas numpy masyvas.