Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Indicizzazione e Slicing | Stringhe
Tipi di Dati in Python

bookIndicizzazione e Slicing

Le stringhe sono sequenze: ogni carattere ha una posizione (un indice). Python utilizza l'indicizzazione a partire da zero, quindi il primo carattere si trova all'indice 0. È possibile ottenere singoli caratteri tramite indicizzazione e intervalli di caratteri tramite slicing.

Indicizzazione

Utilizzare le parentesi quadre con una singola posizione.

123
s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
copy

Gli indici negativi contano a partire dalla fine.

123
s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
copy

L'indicizzazione deve corrispondere a una posizione esistente, altrimenti si ottiene IndexError.

12
s = "python" print(s[10]) # IndexError: string index out of range
copy

Inoltre, le stringhe sono immutabili, quindi è possibile leggere s[i] ma non assegnarvi un valore.

12
s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
copy

Slicing

Una slice utilizza start:stop:step e restituisce una nuova stringa. stop è esclusivo (non è incluso).

12345
s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
copy

Le slice sono tolleranti: andare oltre i limiti estremi semplicemente adatta ai limiti validi (nessun errore).

12
s = "python" print(s[0:100]) # 'python'
copy

Indici negativi e inversione

È possibile combinare indici negativi nelle slice e un step negativo consente di scorrere all'indietro.

123
s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
copy
Note
Nota

step non può essere 0. Omettere step implica 1. Omettere start o stop significa "dall'inizio" / "alla fine".

1. Quale valore restituirà questo codice?

2. Quale valore restituirà questo codice?

3. Quale istruzione genera un errore per u = "hello"?

question mark

Quale valore restituirà questo codice?

Select the correct answer

question mark

Quale valore restituirà questo codice?

Select the correct answer

question mark

Quale istruzione genera un errore per u = "hello"?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain more about how slicing works with different step values?

What happens if I use both negative start and stop indices in a slice?

Can you show more examples of string indexing and slicing?

Awesome!

Completion rate improved to 5.26

bookIndicizzazione e Slicing

Scorri per mostrare il menu

Le stringhe sono sequenze: ogni carattere ha una posizione (un indice). Python utilizza l'indicizzazione a partire da zero, quindi il primo carattere si trova all'indice 0. È possibile ottenere singoli caratteri tramite indicizzazione e intervalli di caratteri tramite slicing.

Indicizzazione

Utilizzare le parentesi quadre con una singola posizione.

123
s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
copy

Gli indici negativi contano a partire dalla fine.

123
s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
copy

L'indicizzazione deve corrispondere a una posizione esistente, altrimenti si ottiene IndexError.

12
s = "python" print(s[10]) # IndexError: string index out of range
copy

Inoltre, le stringhe sono immutabili, quindi è possibile leggere s[i] ma non assegnarvi un valore.

12
s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
copy

Slicing

Una slice utilizza start:stop:step e restituisce una nuova stringa. stop è esclusivo (non è incluso).

12345
s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
copy

Le slice sono tolleranti: andare oltre i limiti estremi semplicemente adatta ai limiti validi (nessun errore).

12
s = "python" print(s[0:100]) # 'python'
copy

Indici negativi e inversione

È possibile combinare indici negativi nelle slice e un step negativo consente di scorrere all'indietro.

123
s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
copy
Note
Nota

step non può essere 0. Omettere step implica 1. Omettere start o stop significa "dall'inizio" / "alla fine".

1. Quale valore restituirà questo codice?

2. Quale valore restituirà questo codice?

3. Quale istruzione genera un errore per u = "hello"?

question mark

Quale valore restituirà questo codice?

Select the correct answer

question mark

Quale valore restituirà questo codice?

Select the correct answer

question mark

Quale istruzione genera un errore per u = "hello"?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2
some-alt