Struktura danych kolejki jest bardzo dobrze znaną strukturą danych, listy w Pythonie zwykle dołączają elementy na końcu listy w Pythonie. Aby zaimplementować strukturę danych kolejki, niezbędna jest możliwość usunięcia przedniego elementu z listy. Omówmy sposoby usunięcia pierwszego elementu listy.
Metoda 1: Usuń elementy z list w Pythonie za pomocą pop()
Ta metoda pop(), tj. usuwa i drukuje itelement z listy. Ta metoda jest najczęściej używana wśród innych dostępnych opcji wykonania tego zadania. Spowoduje to zmianę oryginalnej listy.
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))> |
>
>
Wyjście :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metoda 2: Usuń elementy z list w Pythonie za pomocą del list[]
Jest to alternatywna metoda usuwania z przodu. Ten operator del wykonuje również usuwanie elementów listy w miejscu i zmniejsza rozmiar listy 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))> |
>
>
Wyjście :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metoda 3: Usuń elementy z list w Pythonie za pomocą krojenia
Krojenie Pythona to inne podejście, dzięki któremu można rozwiązać ten problem, możemy podzielić listę od drugiego elementu do ostatniego i przypisać ją do pustej listy. Nie powoduje to konwersji na miejscu, jak w przypadku dwóch powyższych 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))> |
>
>
Wyjście :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metoda 4: Usuń elementy z list w Pythonie za pomocą o czym() + popleft()
Jest to mniej znana metoda osiągnięcia tego konkretnego zadania, polegająca na przekształceniu listy w deque, a następnie wykonaniu pop w lewo, usuwa element z początku listy.
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)))> |
>
>
Wyjście :
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Metoda 5: Usuń elementy z list w Pythonie za pomocą metody usuwania ()
The usunąć() Funkcja pozwala usunąć z listy pierwsze wystąpienie określonej wartości. Można tego użyć do usunięcia najwyższego elementu listy. Wybierz pierwszego członka z listy i podaj go do funkcji usuwania().
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))> |
>
>
Wyjście :
dodaj tablicę Java
Original list is : [1, 4, 3, 6, 7, 10] Modified list is : [4, 3, 6, 7, 10]>
Metoda: 6 przy użyciu rozumienia listy
algorytm krok po kroku wdrażania podejścia
- Lista test_list
- Zainicjuj pustą listę nowa_lista
- Iteruj po elementach na liście testowej, zaczynając od drugiego elementu:
A. Dołącz bieżący element do new_list - Zwróć nową_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))> |
>
>Wyjście
Modified list is : [4, 3, 6, 7]>
Złożoność czasowa:
Złożoność czasowa tego podejścia wynosi O(n), gdzie n jest liczbą elementów na liście wejściowej lista_testów.
Dzieje się tak, ponieważ algorytm wykonuje iterację po każdym elemencie listy raz, z wyjątkiem pierwszego elementu, który jest pomijany.
Przestrzeń pomocnicza:
Złożoność przestrzeni pomocniczej w tym podejściu wynosi O(n), gdzie n jest liczbą elementów na liście wejściowej lista_testów.
Dzieje się tak, ponieważ algorytm tworzy nową listę nowa_lista do przechowywania zmodyfikowanej wersji listy wejściowej, która potencjalnie może mieć taką samą liczbę elementów jak lista_testowana.
Używanie numpy.delete():
- Zaimportuj bibliotekę numpy
- Utwórz tablicę numpy z listy, która ma zostać zmodyfikowana
- Użyj funkcji numpy.delete(), aby usunąć pierwszy element tablicy
- Konwertuj zmodyfikowaną tablicę numpy z powrotem na listę
- Wydrukuj listy oryginalne i zmodyfikowane
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))> |
>
>
Wyjście:
Original list is : [1, 4, 3, 6, 7] Modified list is : [4, 3, 6, 7]>
Złożoność czasowa:
Złożoność czasowa funkcji numpy.delete() wynosi O(n), gdzie n to liczba elementów tablicy numpy. Ponieważ konwertujemy również listę na tablicę numpy i z powrotem na listę, całkowita złożoność czasowa tego podejścia wynosi O(n).
Złożoność przestrzeni:
Złożoność przestrzenna tego podejścia wynosi O(n), gdzie n jest liczbą elementów na liście wejściowej lista_testów. Wynika to z utworzenia tablicy numpy.