„Python“ programoje sąrašų pjaustymas yra įprasta praktika ir tai yra dažniausiai programuotojų naudojama technika efektyvioms problemoms spręsti. Apsvarstykite „Python“ sąrašą, kad galėtumėte pasiekti daugybę sąrašo elementų, turite jį suskaidyti. Vienas iš būdų tai padaryti yra naudoti paprastą pjaustymo operatorių, ty dvitaškį (:). Su šiuo operatoriumi galima nurodyti, kur pradėti pjaustymą, kur baigti, ir nurodyti žingsnį. Sąrašo pjaustymas grąžina naują sąrašą iš esamo sąrašo.
Python sąrašo pjaustymo sintaksė
Sąrašo pjaustymo formatas yra iš Python Sąrašo pjaustymas yra toks:
Lst [ Initial : End : IndexJump ]>
Jeigu Lst yra sąrašas, tada aukščiau pateikta išraiška grąžina sąrašo dalį iš indekso Pradinis indeksuoti Galas , žingsnio dydžiu IndexJump .
Indeksavimas Python sąraše
Indeksavimas yra būdas pasiekti a elementus Python sąrašas . Yra įvairių būdų, kuriais galime pasiekti sąrašo elementą.
Teigiami indeksai
Teigiamo indeksavimo atveju pirmasis sąrašo elementas turi indekso numerį 0, o paskutinis sąrašo elementas turi indekso numerį N-1, kur N yra bendras sąrašo elementų skaičius (sąrašo dydis ).

Teigiamas Python sąrašo indeksavimas
Pavyzdys:
Šiame pavyzdyje mes parodysime visą sąrašą naudodami teigiamo indekso pjaustymą.
Python3
# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[::])> |
>
>
Išvestis:
[50, 70, 30, 20, 90, 10, 50]>
Neigiami indeksai
Žemiau esančioje diagramoje pateikiamas sąrašas kartu su neigiamais indeksais. Rodyklė -1 reiškia paskutinį elementą, o -N - pirmąjį sąrašo elementą, kur N yra sąrašo ilgis.

Neigiamas Python sąrašo indeksavimas
Pavyzdys:
Šiame pavyzdyje sąrašo elementus pasieksime naudodami neigiamą indeksavimą.
Python3
# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[> -> 7> ::> 1> ])> |
>
>
Išvestis:
[50, 70, 30, 20, 90, 10, 50]>
Pjaustymas
Kaip minėta anksčiau, sąrašo pjaustymas Python yra įprasta praktika ir gali būti naudojamas tiek su teigiamais, tiek su neigiamais indeksais. Žemiau esančioje diagramoje parodyta sąrašo pjaustymo technika:

Python sąrašo pjaustymas
Pavyzdys:
Šiame pavyzdyje aukščiau pateiktą iliustraciją paversime Python kodu.
Python3
# Initialize list> Lst> => [> 50> ,> 70> ,> 30> ,> 20> ,> 90> ,> 10> ,> 50> ]> # Display list> print> (Lst[> 1> :> 5> ])> |
>
>
Išvestis:
[70, 30, 20, 90]>
Sąrašo pjaustymo Python pavyzdžiai
Pažiūrėkime kelis pavyzdžius, vaizduojančius sąrašo pjaustymą Python.
1 pavyzdys: Jei paliksite bet kurį argumentą, pvz., Pradinis, Pabaiga arba IndexJump, tuščią, bus naudojamos numatytosios reikšmės, t. y. 0 kaip pradinė, sąrašo ilgis - pabaiga, o 1 - kaip 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 dinaminis masyvas
Išvestis:
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]>
2 pavyzdys: Atvirkštinis sąrašas gali būti sugeneruotas naudojant neigiamą sveikąjį skaičių kaip IndexJump argumentą. Pradinį ir pabaigą palikite tuščius. Turime pasirinkti pradines ir pabaigos reikšmes pagal atvirkštinį sąrašą, jei IndexJump reikšmė yra neigiama.
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> ])> |
>
>
Išvestis:
Original List: ['Geeks', 4, 'geeks !'] Sliced Lists: ['geeks !', 4, 'Geeks'] ['geeks !'] ['geeks !']>
3 pavyzdys: Jei pateikiamos kai kurios pjaustymo išraiškos, kurios neturi prasmės arba yra neapskaičiuojamos, generuojami tušti sąrašai.
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> :])> |
>
>
Išvestis:
Original List: [-999, 'G4G', 1706256, '^_^', 3.1496] Sliced Lists: [] [] [] []>
4 pavyzdys: Sąrašo pjaustymas gali būti naudojamas sąrašams modifikuoti ar net elementams iš sąrašo ištrinti.
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> )> |
>
>
Išvestis:
Original List: [-999, 'G4G', 1706256, 3.1496, '^_^'] Sliced Lists: [-999, 'G4G', 'Geeks', 'for', 'Geeks', '!', '^_^'] ['^_^']>
5 pavyzdys: Sujungus suskirstytus sąrašus, galima sukurti naują sąrašą arba net modifikuoti jau esamą sąrašą.
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> )> |
>
>
Išvestis:
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]>