In Python, il list slicing è una pratica comune ed è la tecnica più utilizzata dai programmatori per risolvere problemi efficienti. Considera un elenco Python, per accedere a una serie di elementi in un elenco, devi suddividere un elenco. Un modo per farlo è utilizzare il semplice operatore di slicing, ad esempio due punti (:). Con questo operatore è possibile specificare dove iniziare l'affettatura, dove terminare e specificare il passaggio. Il taglio dell'elenco restituisce un nuovo elenco dall'elenco esistente.
Sintassi dell'affettamento dell'elenco Python
Il formato per la suddivisione degli elenchi è di Pitone L'affettatura dell'elenco è la seguente:
Lst [ Initial : End : IndexJump ]>
Se Lst è una lista, l'espressione precedente restituisce la parte della lista da index Iniziale indicizzare FINE , a una dimensione di passo Salto indice .
Indicizzazione nell'elenco Python
L'indicizzazione è una tecnica per accedere agli elementi di a Elenco Python . Esistono vari modi con cui possiamo accedere a un elemento di un elenco.
Indici positivi
Nel caso dell'indicizzazione positiva, il primo elemento dell'elenco ha il numero di indice 0 e l'ultimo elemento dell'elenco ha il numero di indice N-1, dove N è il numero totale di elementi nell'elenco (dimensione dell'elenco ).

Indicizzazione positiva di una lista Python
Esempio:
In questo esempio, visualizzeremo un intero elenco utilizzando l'affettamento dell'indice positivo.
Python3
# Initialize list> Lst>=> [>50>,>70>,>30>,>20>,>90>,>10>,>50>]> # Display list> print>(Lst[::])> |
>
>
Produzione:
[50, 70, 30, 20, 90, 10, 50]>
Indici negativi
Il diagramma seguente illustra un elenco insieme ai suoi indici negativi. L'indice -1 rappresenta l'ultimo elemento e -N rappresenta il primo elemento della lista, dove N è la lunghezza della lista.

Indicizzazione negativa di una lista Python
Esempio:
In questo esempio, accederemo agli elementi di una lista utilizzando l'indicizzazione negativa.
Python3
# Initialize list> Lst>=> [>50>,>70>,>30>,>20>,>90>,>10>,>50>]> # Display list> print>(Lst[>->7>::>1>])> |
>
>
Produzione:
[50, 70, 30, 20, 90, 10, 50]>
Affettare
Come accennato in precedenza, l'affettamento delle liste in Python è una pratica comune e può essere utilizzato sia con indici positivi che negativi. Il diagramma seguente illustra la tecnica di affettamento dell'elenco:

Affettamento dell'elenco Python
Esempio:
In questo esempio, trasformeremo l'illustrazione sopra in codice Python.
Python3
# Initialize list> Lst>=> [>50>,>70>,>30>,>20>,>90>,>10>,>50>]> # Display list> print>(Lst[>1>:>5>])> |
>
>
Produzione:
[70, 30, 20, 90]>
Esempi di affettatura di elenchi in Python
Vediamo alcuni esempi che descrivono l'uso del list slicing in Python.
Esempio 1: Lasciare vuoto qualsiasi argomento come Iniziale, Fine o IndexJump porterà all'uso di valori predefiniti, ovvero 0 come Iniziale, lunghezza dell'elenco come Fine e 1 come 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>[::])> |
>
>
Banca dati
Produzione:
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]>
Esempio 2: È possibile generare un elenco invertito utilizzando un numero intero negativo come argomento IndexJump. Lasciando i campi Iniziale e Fine vuoti. Dobbiamo scegliere i valori Iniziale e Fine secondo un elenco invertito se il valore IndexJump è negativo.
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>])> |
>
>
Produzione:
Original List: ['Geeks', 4, 'geeks !'] Sliced Lists: ['geeks !', 4, 'Geeks'] ['geeks !'] ['geeks !']>
Esempio 3: Se vengono create alcune espressioni di slicing che non hanno senso o non sono computabili, vengono generati elenchi vuoti.
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>:])> |
>
>
Produzione:
Original List: [-999, 'G4G', 1706256, '^_^', 3.1496] Sliced Lists: [] [] [] []>
Esempio 4: L'affettatura degli elenchi può essere utilizzata per modificare elenchi o persino eliminare elementi da un elenco.
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>)> |
>
>
Produzione:
Original List: [-999, 'G4G', 1706256, 3.1496, '^_^'] Sliced Lists: [-999, 'G4G', 'Geeks', 'for', 'Geeks', '!', '^_^'] ['^_^']>
Esempio 5: Concatenando gli elenchi suddivisi è possibile creare un nuovo elenco o addirittura modificare un elenco preesistente.
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>)> |
>
>
Produzione:
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]>