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