logo

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>[::])>

>

>

js ciąg wielowierszowy

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]>