11.1 Assegnazione degli indici
In Python, l'estrazione di sottostringhe è un'operazione frequentemente utilizzata, che consente di manipolare dati testuali ed estrarre parti significative di informazioni da stringhe. Esaminiamo alcuni metodi per ottenere sottostringhe, ciascuno con le sue peculiarità e ambiti d'applicazione.
Utilizzo delle slices
Le slices sono il metodo principale per ottenere
sottostringhe in Python. Una slice in Python viene creata utilizzando la sintassi
string[start
:stop
:step
],
dove:
start
— indice iniziale (incluso),stop
— indice finale (non incluso),step
— passo con cui vengono estratti i caratteri.
La sintassi delle slice permette di specificare gli indici iniziale e finale della sottostringa che vuoi estrarre.
text = "Hello, world!"
substring = text[7:12] # Visualizzerà 'world'
11.2 Indici non completi
Non è necessario specificare tutti e tre gli indici per estrarre una sottostringa.
- Se
start
è omesso, la slice inizia dall'inizio della stringa. - Se
stop
è omesso, la slice arriva fino alla fine della stringa. - Se
step
è omesso, i caratteri vengono estratti uno dopo l'altro.
Esempi:
Scriviamo un esempio per ottenere una sottostringa a partire dal 7° carattere fino alla fine della stringa
text = "Hello, world!"
substring = text[7:] # Visualizzerà 'world!'
Ora dall'inizio della stringa fino al 10° carattere. Spero tu ricordi che l'ultimo carattere del range non è incluso nella sottostringa risultante.
text = "Hello, world!"
substring = text[:10] # Visualizzerà 'Hello, wor'
11.3 Indici negativi
Gli indici negativi in Python permettono di accedere agli elementi di una stringa partendo dalla fine. L'uso degli indici negativi rende spesso il codice più leggibile e comodo, specialmente quando si lavora con la fine di una stringa.
Ottenere l'ultimo carattere di una stringa:
text = "Python"
last_char = text[-1]
print(last_char) # Visualizzerà: 'n'
Ottenere il penultimo carattere di una stringa:
text = "Python"
second_last_char = text[-2]
print(second_last_char) # Visualizzerà: 'o'
Per ottenere gli ultimi tre caratteri di una stringa:
text = "Python"
last_three = text[-3:]
print(last_three) # Visualizzerà: 'hon'
Per ottenere una stringa, escludendo l'ultimo carattere:
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # Visualizzerà: 'Pytho'
Uso avanzato delle slices
Con il parametro step
è possibile creare slice più complesse, ad esempio per estrarre caratteri in ordine inverso:
# Invertire una stringa
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION