Krojenie listy Pythona

Krojenie listy Pythona

W Pythonie dzielenie list na kawałki jest powszechną praktyką i jest najczęściej używaną przez programistów techniką do wydajnego rozwiązywania problemów. Rozważmy listę w języku Python. Aby uzyskać dostęp do szeregu elementów listy, należy ją pokroić. Jednym ze sposobów osiągnięcia tego jest użycie prostego operatora krojenia, np. dwukropka(:). Za pomocą tego operatora można określić, gdzie rozpocząć krojenie, gdzie zakończyć i określić krok. Dzielenie listy zwraca nową listę z istniejącej listy.

Składnia krojenia listy w Pythonie

Format dzielenia listy to Pyton Dzielenie listy wygląda następująco:

Lst  [   Initial   :   End   :   IndexJump   ] 

Jeśli ostatni jest listą, powyższe wyrażenie zwraca część listy z indeksu Wstępny Indeksować Koniec , w rozmiarze kroku Skok indeksu .

Indeksowanie na liście Pythona

Indeksowanie to technika uzyskiwania dostępu do elementów pliku a Lista Pythona . Dostęp do elementu listy można uzyskać na różne sposoby.

Pozytywne indeksy

W przypadku indeksowania dodatniego pierwszy element listy ma numer indeksu 0, a ostatni element listy ma numer indeksu N-1, gdzie N jest całkowitą liczbą elementów na liście (rozmiar listy ).

Pozytywne indeksowanie listy Pythona

Pozytywne indeksowanie listy Pythona

Przykład:

W tym przykładzie wyświetlimy całą listę przy użyciu dodatniego podziału indeksu.

Python3




# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[::])>

Wyjście:

[50, 70, 30, 20, 90, 10, 50] 

Indeksy ujemne

Poniższy diagram ilustruje listę wraz z jej ujemnymi indeksami. Indeks -1 reprezentuje ostatni element, a -N reprezentuje pierwszy element listy, gdzie N jest długością listy.

Negatywne indeksowanie listy Pythona

Negatywne indeksowanie listy Pythona

Przykład:

W tym przykładzie dostęp do elementów listy uzyskamy za pomocą indeksowania ujemnego.

Python3




# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[> -> 7> ::> 1> ])>

Wyjście:

[50, 70, 30, 20, 90, 10, 50] 

Krajanie na plastry

Jak wspomniano wcześniej, dzielenie list w Pythonie jest powszechną praktyką i można go stosować zarówno z indeksami dodatnimi, jak i ujemnymi. Poniższy diagram ilustruje technikę dzielenia listy:

Krojenie listy Pythona

Krojenie listy Pythona

Przykład:

W tym przykładzie przekształcimy powyższą ilustrację w kod Pythona.

Python3




# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[> 1> :> 5> ])>

Wyjście:

[70, 30, 20, 90] 

Przykłady wycinania list w Pythonie

Zobaczmy kilka przykładów ilustrujących użycie dzielenia list w Pythonie.

Przykład 1: Pozostawienie pustego argumentu, np. początkowego, końcowego lub indeksowego, spowoduje użycie wartości domyślnych, tj. 0 jako początkowego, długości listy jako końcowego i 1 jako indeksowego.

Python3




# Initialize list> List> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ,> 6> ,> 7> ,> 8> ,> 9> ]> # Show original list> print> (> 'Original List: '> ,> List> )> print> (> ' Sliced Lists: '> )> # Display sliced list> print> (> List> [> 3> :> 9> :> 2> ])> # Display sliced list> print> (> List> [::> 2> ])> # Display sliced list> print> (> List> [::])>

Wyjście:

Original List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Sliced Lists: [4, 6, 8] [1, 3, 5, 7, 9] [1, 2, 3, 4, 5, 6, 7, 8, 9] 

Przykład 2: Odwróconą listę można wygenerować, używając ujemnej liczby całkowitej jako argumentu IndexJump. Pozostawienie inicjału i końca pustych. Musimy wybrać wartości początkowe i końcowe zgodnie z odwróconą listą, jeśli wartość IndexJump jest ujemna.

Python3




# Initialize list> List> => [> 'Geeks'> ,> 4> ,> 'geeks !'> ]> # Show original list> print> (> 'Original List: '> ,> List> )> print> (> ' Sliced Lists: '> )> # Display sliced list> print> (> List> [::> -> 1> ])> # Display sliced list> print> (> List> [::> -> 3> ])> # Display sliced list> print> (> List> [:> 1> :> -> 2> ])>

Wyjście:

Original List: ['Geeks', 4, 'geeks !'] Sliced Lists: ['geeks !', 4, 'Geeks'] ['geeks !'] ['geeks !'] 

Przykład 3: Jeśli zostaną wykonane wyrażenia wycinające, które nie mają sensu lub są nieobliczalne, generowane są puste listy.

Python3




# Initialize list> List> => [> -> 999> ,> 'G4G'> ,> 1706256> ,> '^_^'> ,> 3.1496> ]> # Show original list> print> (> 'Original List: '> ,> List> )> print> (> ' Sliced Lists: '> )> # Display sliced list> print> (> List> [> 10> ::> 2> ])> # Display sliced list> print> (> List> [> 1> :> 1> :> 1> ])> # Display sliced list> print> (> List> [> -> 1> :> -> 1> :> -> 1> ])> # Display sliced list> print> (> List> [:> 0> :])>

Wyjście:

Original List: [-999, 'G4G', 1706256, '^_^', 3.1496] Sliced Lists: [] [] [] [] 

Przykład 4: Dzielenia list można używać do modyfikowania list, a nawet usuwania elementów z listy.

Python3




# Initialize list> List> => [> -> 999> ,> 'G4G'> ,> 1706256> ,> 3.1496> ,> '^_^'> ]> # Show original list> print> (> 'Original List: '> ,> List> )> print> (> ' Sliced Lists: '> )> # Modified List> List> [> 2> :> 4> ]> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ,> '!'> ]> # Display sliced list> print> (> List> )> # Modified List> List> [:> 6> ]> => []> # Display sliced list> print> (> List> )>

Wyjście:

Original List: [-999, 'G4G', 1706256, 3.1496, '^_^'] Sliced Lists: [-999, 'G4G', 'Geeks', 'for', 'Geeks', '!', '^_^'] ['^_^'] 

Przykład 5: Łącząc pokrojone listy, można utworzyć nową listę lub nawet zmodyfikować istniejącą listę.

Python3




# Initialize list> List> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ,> 6> ,> 7> ,> 8> ,> 9> ]> # Show original list> print> (> 'Original List: '> ,> List> )> print> (> ' Sliced Lists: '> )> # Creating new List> newList> => List> [:> 3> ]> +> List> [> 7> :]> # Display sliced list> print> (newList)> # Changing existing List> List> => List> [::> 2> ]> +> List> [> 1> ::> 2> ]> # Display sliced list> print> (> List> )>

Wyjście:

Original List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Sliced Lists: [1, 2, 3, 8, 9] [1, 3, 5, 7, 9, 2, 4, 6, 8]