Python List Slicing

Python List Slicing

V Pythonu je dělení seznamu běžnou praxí a je to nejpoužívanější technika pro programátory k řešení efektivních problémů. Zvažte seznam Python, abyste získali přístup k řadě prvků v seznamu, musíte seznam rozdělit. Jedním ze způsobů, jak toho dosáhnout, je použít jednoduchý operátor krájení, tj. dvojtečku (:). Pomocí tohoto operátoru lze určit, kde začít krájení, kde skončit, a určit krok. Rozdělení seznamu vrátí nový seznam ze stávajícího seznamu.

Syntaxe dělení seznamu Python

Formát pro dělení seznamu je of Krajta Dělení seznamu je následující:

Lst  [   Initial   :   End   :   IndexJump   ] 

Li Lst je seznam, pak výše uvedený výraz vrátí část seznamu z indexu Počáteční indexovat Konec , ve velikosti kroku IndexJump .

Indexování v seznamu Python

Indexování je technika pro přístup k prvkům a Seznam Pythonu . Existují různé způsoby, jak získat přístup k prvku seznamu.

Pozitivní indexy

V případě pozitivního indexování má první prvek seznamu indexové číslo 0 a poslední prvek seznamu má indexové číslo N-1, kde N je celkový počet prvků v seznamu (velikost seznamu ).

Pozitivní indexování seznamu Python

Pozitivní indexování seznamu Python

Příklad:

V tomto příkladu zobrazíme celý seznam pomocí pozitivního dělení indexu.

Python3




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

Výstup:

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

Záporné indexy

Níže uvedený diagram znázorňuje seznam spolu s jeho zápornými indexy. Index -1 představuje poslední prvek a -N představuje první prvek seznamu, kde N je délka seznamu.

Negativní indexování seznamu Python

Negativní indexování seznamu Python

Příklad:

V tomto příkladu budeme přistupovat k prvkům seznamu pomocí negativního indexování.

Python3




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

Výstup:

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

Krájení

Jak již bylo zmíněno dříve, dělení seznamu v Pythonu je běžnou praxí a lze jej použít s kladnými indexy i zápornými indexy. Níže uvedený diagram ilustruje techniku ​​krájení seznamu:

Python List Slicing

Python List Slicing

Příklad:

V tomto příkladu převedeme výše uvedenou ilustraci do kódu Pythonu.

Python3




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

Výstup:

[70, 30, 20, 90] 

Příklady dělení seznamu v Pythonu

Podívejme se na několik příkladů, které znázorňují použití dělení seznamu v Pythonu.

Příklad 1: Ponechání libovolného argumentu jako Initial, End nebo IndexJump prázdný povede k použití výchozích hodnot, tj. 0 jako Initial, délka seznamu jako End a 1 jako IndexJump.

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

Výstup:

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] 

Příklad 2: Obrácený seznam lze vygenerovat pomocí záporného celého čísla jako argumentu IndexJump. Počáteční a Konec ponecháte prázdné. Pokud je hodnota IndexJump záporná, musíme vybrat počáteční a koncové hodnoty podle obráceného seznamu.

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

Výstup:

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

Příklad 3: Pokud jsou vytvořeny některé krájecí výrazy, které nedávají smysl nebo jsou nevypočitatelné, vygenerují se prázdné seznamy.

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

Výstup:

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

Příklad 4: Dělení seznamu lze použít k úpravě seznamů nebo dokonce k odstranění prvků ze seznamu.

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

Výstup:

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

Příklad 5: Zřetězením rozdělených seznamů lze vytvořit nový seznam nebo dokonce upravit již existující seznam.

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

Výstup:

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]