logo

Affettamento dell'elenco Python

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

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

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

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