10.1 Ciclo sui caratteri della stringa
In Python le stringhe vengono spesso considerate come array/liste di caratteri, il che le rende particolarmente comode per le manipolazioni simili al lavoro con array in altri linguaggi di programmazione.
Beh, visto che una stringa è un insieme di caratteri, possiamo iterare su di essi con un ciclo.
Ciclo sui caratteri della stringa
Per iterare su ogni carattere della stringa si può utilizzare un semplice ciclo for. Questo permette di eseguire operazioni su ogni carattere singolarmente:
|
|
Importante! In Python non esiste il tipo char per un singolo carattere. Un carattere di una stringa è comunque una stringa.
10.2 Determinare la lunghezza della stringa
Cos'altro possiamo fare con una stringa? Beh, ovviamente determinarne la lunghezza – sapere quanti caratteri contiene. Per questo in Python c'è una funzione integrata len(). Questa funzione restituisce il numero di caratteri nella stringa:
text = "Hello, world!"
length = len(text)
print(length) # Restituirà: 13
10.3 Ottenere un carattere specifico
Puoi anche ottenere un carattere specifico della stringa tramite il suo numero. In realtà, tramite il suo indice.
Importante! Gli indici delle liste e array in Python iniziano da 0. Se la stringa contiene 10 caratteri, avranno gli indici: 0, 1, 2, ... 9.
L'aspetto generale per ottenere un carattere tramite il suo indice è il seguente:
string[index]
Mostriamo sullo schermo tutti i caratteri della stringa, ma riferendoci ad essi tramite i loro indici:
|
|
10.4 Presenza di una sottostringa
Verificare la presenza di una stringa all'interno di un'altra è uno dei compiti di base che spesso si devono risolvere programmando in Python. Questa funzionalità è ampiamente utilizzata in molte applicazioni, tra cui l'elaborazione dei dati testuali, la validazione degli input dell'utente e la ricerca dei dati nelle stringhe.
Per questa attività, Python offre diversi metodi, sia unici a lui che comuni in altri linguaggi di programmazione:
Operatore in:
È il metodo più semplice e comunemente usato per verificare la presenza di una sottostringa in una stringa. Restituisce True, se la sottostringa è presente nella stringa, e False altrimenti.
text = "Hello, world!"
print("world" in text) # Restituirà: True
Metodo find():
Il metodo find() restituisce l'indice della prima occorrenza della sottostringa nella stringa, se la sottostringa viene trovata, e -1, se la sottostringa è assente. Ciò consente non solo di verificare la presenza della sottostringa, ma anche di sapere la sua posizione.
text = "Hello, world!"
position = text.find("world")
print(position) # Restituirà: 7
Metodo index():
Sembra simile a find(), ma invece di restituire -1 in caso di assenza della sottostringa, il metodo index() genera un'eccezione ValueError. Questo metodo è utile quando l'assenza della sottostringa è inaspettata e deve portare a un errore.
text = "Hello, world!"
try:
position = text.index("world")
print(position) # Restituirà: 7
except ValueError:
print("Sottostringa non trovata.")
Metodo count():
Il metodo count() conta quante volte la sottostringa si presenta nella stringa. È utile quando si vuole sapere non solo il fatto della presenza, ma anche il numero di occorrenze.
text = "Hello, world!"
cnt = text.count("l")
print(cnt) # Restituirà: 3
GO TO FULL VERSION