Python List Slicing

Python List Slicing

În Python, tăierea listelor este o practică obișnuită și este cea mai folosită tehnică pentru programatori pentru a rezolva probleme eficiente. Luați în considerare o listă Python, pentru a accesa o serie de elemente dintr-o listă, trebuie să tăiați o listă. O modalitate de a face acest lucru este să utilizați operatorul simplu de tăiere, adică două puncte (:). Cu acest operator, se poate specifica unde să înceapă tăierea, unde să se termine și să specificați pasul. Tăierea listei returnează o nouă listă din lista existentă.

Sintaxa Python List Slicing

Formatul pentru tăierea listei este de Piton List Slicing este după cum urmează:

Lst  [   Initial   :   End   :   IndexJump   ] 

Dacă Lst este o listă, atunci expresia de mai sus returnează porțiunea din listă din index Iniţială a indexa Sfârşit , la un pas IndexJump .

Indexarea în lista Python

Indexarea este o tehnică de accesare a elementelor a Lista Python . Există diferite moduri prin care putem accesa un element dintr-o listă.

Indici pozitivi

În cazul indexării pozitive, primul element al listei are numărul de index 0, iar ultimul element al listei are numărul de index N-1, unde N este numărul total de elemente din listă (dimensiunea listei). ).

Indexarea pozitivă a unei liste Python

Indexarea pozitivă a unei liste Python

Exemplu:

În acest exemplu, vom afișa o listă întreagă folosind indexul pozitiv.

Python3




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

Ieșire:

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

Indici negativi

Diagrama de mai jos ilustrează o listă împreună cu indicii ei negativi. Indexul -1 reprezintă ultimul element și -N reprezintă primul element al listei, unde N este lungimea listei.

Indexarea negativă a unei liste Python

Indexarea negativă a unei liste Python

Exemplu:

În acest exemplu, vom accesa elementele unei liste folosind indexarea negativă.

Python3




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

Ieșire:

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

Tăierea

După cum am menționat mai devreme, tăierea listelor în Python este o practică obișnuită și poate fi utilizată atât cu indici pozitivi, cât și cu indici negativi. Diagrama de mai jos ilustrează tehnica tăierii listei:

Python List Slicing

Python List Slicing

Exemplu:

În acest exemplu, vom transforma ilustrația de mai sus în cod Python.

Python3




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

Ieșire:

[70, 30, 20, 90] 

Exemple de List Slicing în Python

Să vedem câteva exemple care descriu utilizarea tăierii listelor în Python.

Exemplul 1: Lăsarea oricărui argument precum Initial, End sau IndexJump necompletat va duce la utilizarea valorilor implicite, adică 0 ca inițial, lungimea listei ca End și 1 ca 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> [::])>

Ieșire:

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] 

Exemplul 2: O listă inversată poate fi generată utilizând un număr întreg negativ ca argument IndexJump. Lăsând inițiala și sfârșitul ca necompletate. Trebuie să alegem valorile inițiale și finale în funcție de o listă inversată dacă valoarea IndexJump este negativă.

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

Ieșire:

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

Exemplul 3: Dacă sunt făcute unele expresii de feliere care nu au sens sau sunt incalculabile, atunci se generează liste goale.

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

Ieșire:

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

Exemplul 4: Tăierea listelor poate fi folosită pentru a modifica liste sau chiar pentru a șterge elemente dintr-o listă.

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

Ieșire:

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

Exemplul 5: Prin concatenarea listelor se poate crea o listă nouă sau chiar poate fi modificată o listă preexistentă.

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

Ieșire:

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]