logo

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

>

>

jméno

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