logo

Python List Slicing

V Pythone je delenie zoznamu bežnou praxou a je to najpoužívanejšia technika pre programátorov na riešenie efektívnych problémov. Zvážte zoznam Python, ak chcete získať prístup k rozsahu prvkov v zozname, musíte zoznam rozdeliť. Jedným zo spôsobov, ako to urobiť, je použiť operátor jednoduchého krájania, t. j. dvojbodku (:). Pomocou tohto operátora je možné určiť, kde sa má krájanie začať, kde sa má skončiť, a určiť krok. Rozdelenie zoznamu vráti nový zoznam z existujúceho zoznamu.

Syntax segmentovania zoznamu Python

Formát na delenie zoznamu je z Python Rozdelenie zoznamu je nasledovné:



Lst  [   Initial   :   End   :   IndexJump   ]>

Ak Lst je zoznam, potom vyššie uvedený výraz vráti časť zoznamu z indexu Počiatočné indexovať Koniec , vo veľkosti kroku IndexJump .

Indexovanie v zozname Python

Indexovanie je technika prístupu k prvkom a Zoznam Python . K prvku zoznamu môžeme pristupovať rôznymi spôsobmi.

Pozitívne indexy

V prípade pozitívneho indexovania má prvý prvok zoznamu indexové číslo 0 a posledný prvok zoznamu má indexové číslo N-1, kde N je celkový počet prvkov v zozname (veľkosť zoznamu ).



Pozitívne indexovanie zoznamu Python

Pozitívne indexovanie zoznamu Python

Príklad:

V tomto príklade zobrazíme celý zoznam pomocou pozitívneho segmentovania indexu.



Python3




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

>

>

Výkon:

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

Záporné indexy

Nižšie uvedený diagram znázorňuje zoznam spolu s jeho negatívnymi indexmi. Index -1 predstavuje posledný prvok a -N predstavuje prvý prvok zoznamu, kde N je dĺžka zoznamu.

Negatívne indexovanie zoznamu Python

Negatívne indexovanie zoznamu Python

Príklad:

V tomto príklade budeme pristupovať k prvkom zoznamu pomocou negatívneho indexovania.

Python3




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

>

>

Výkon:

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

Krájanie

Ako už bolo spomenuté vyššie, krájanie zoznamu v Pythone je bežnou praxou a možno ho použiť s pozitívnymi aj negatívnymi indexmi. Nasledujúci diagram znázorňuje techniku ​​krájania zoznamu:

Python List Slicing

Python List Slicing

Príklad:

V tomto príklade transformujeme vyššie uvedenú ilustráciu do kódu Pythonu.

Python3




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

>

>

Výkon:

[70, 30, 20, 90]>

Príklady členenia zoznamu v Pythone

Pozrime sa na niekoľko príkladov, ktoré zobrazujú použitie krájania zoznamu v Pythone.

Príklad 1: Ak ponecháte akýkoľvek argument, ako je Initial, End alebo IndexJump prázdny, povedie to k použitiu predvolených hodnôt, t. j. 0 ako Initial, dĺžka zoznamu ako End a 1 ako 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>[::])>

>

>

java vizualizér

Výkon:

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

Príklad 2: Obrátený zoznam možno vygenerovať použitím záporného celého čísla ako argumentu IndexJump. Počiatočné a Koniec ponecháte prázdne. Ak je hodnota IndexJump záporná, musíme vybrať počiatočné a koncové hodnoty podľa obráteného zoznamu.

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ýkon:

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

Príklad 3: Ak sa vytvoria nejaké výrazy na krájanie, ktoré nedávajú zmysel alebo sú nevypočítateľné, vygenerujú sa prázdne zoznamy.

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ýkon:

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

Príklad 4: Rozdelenie zoznamu možno použiť na úpravu zoznamov alebo dokonca odstránenie prvkov zo zoznamu.

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ýkon:

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

Príklad 5: Reťazením rozdelených zoznamov možno vytvoriť nový zoznam alebo dokonca upraviť už existujúci zoznam.

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ýkon:

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