Python: le stringhe

Cerca nel sito

Altri risultati..

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Cerca nelle Categorie

le stringhe in python

Stringhe

Una stringa è una sequenza

Una stringa è una sequenza di caratteri a cui è possibile accedere, uno alla volta, con l’operatore parentesi quadre:


fruit = 'banana'
letter = fruit[1]
La seconda istruzione estrae il carattere nella posizione 1 dalla stringa contenuta nella variabile fruit e la assegna alla variabile letter. L’espressione tra parentesi è denominata indice e indica quale carattere della sequenza vogliamo (da cui il nome). Ma potrai non ottenere ciò che ti aspetti:
print(letter)
⇒ a
Per la maggior parte delle persone, la prima lettera di “banana” è b, non a. Ma in Python, l’indice indica la posizione uno dall’inizio della stringa mentre la posizione della prima lettera è zero.
letter = fruit[0]
print(letter)
⇒ b
Quindi b è la lettera 0 (“zero”) di “banana”, a è la 1ˆ lettera (“prima”), e n è la 2ˆ lettera (“seconda”) .
Potrai utilizzare qualsiasi espressione, comprese variabili e operatori, come indice, ma il valore dell’indice dovrà essere un numero intero. Altrimenti otterrai:
letter = fruit[1.5]
TypeError: string indices must be integers
le stringhe in python

Ottenere la lunghezza di una stringa usando len

len è una funzione che restituisce il numero di caratteri in una stringa:

fruit = 'banana'
len(fruit)

⇒ 6

Per ottenere l’ultima lettera di una stringa, potresti essere tentato di provare qualcosa del genere:

length = len(fruit)
last = fruit[length]

IndexError: string index out of range

Il motivo del messaggio d’errore è che non vi è alcuna lettera in “banana” con l’indice 6. Considerato che abbiamo iniziato a contare da zero, le sei lettere sono numerate da 0 a 5. Per ottenere l’ultimo carattere, dovrai sottrarre 1 a length:

last = fruit[length-1]
print(last)

⇒ a

In alternativa, puoi usare indici negativi, che partono a contare dalla fine della stringa. L’espressione fruit[-1] ci darà l’ultima lettera, fruit[-2] ci darà la penultima, e così via.

Ti potrebbe interessare anche:  Python: Calcolare gli integrali

 

Scorrere una stringa con un ciclo

Molti calcoli comportano l’elaborazione di un carattere alla volta di una stringa.
Spesso cominciano dall’inizio, selezionano ciascun carattere a turno, fanno qualcosa e continuano fino alla fine. Questo modello di elaborazione è chiamato traversale.
Un modo per codificare uno scorrimento consiste nell’utilizzare un ciclo while:

index = 0
while index < len(fruit):

letter = fruit[index]
print(letter)
index = index + 1

 

Questo ciclo scorre la stringa e mostra una singola lettera su una riga separata.
La condizione del ciclo è index < len(fruit), quindi quando index è uguale alla lunghezza della stringa, la condizione è falsa e il corpo del ciclo non viene più eseguito. L’ultimo carattere a cui si accede è quello con l’indice uguale a len(fruit)-1, che è l’ultimo carattere nella stringa.
Un altro modo per scrivere uno scorrimento è con un ciclo for:
for char in fruit:
    print(char)
Ogni volta che viene eseguito il ciclo, viene assegnato alla variabile char il carattere successivo nella stringa. Il ciclo si ripete fino a quando non rimane alcun carattere.

Segmenti di stringhe

Il segmento di una stringa è chiamato slice. La selezione di un segmento è simile alla selezione di un carattere:

s = 'Monty Python'
print(s[0:5])

⇒ Monty

print(s[6:12])
⇒ Python

L’operatore restituisce la parte della stringa dal carattere indicato con il primo indice (incluso) al carattere indicato con il secondo indice (escluso). Se si omette il primo parametro (prima dei due punti), il segmento parte dall’inizio della stringa.
Se invece si omette il secondo, il segmento arriva alla fine della stringa:

fruit = 'banana'
 fruit[:3]

⇒ ‘ban’

Ti potrebbe interessare anche:  Esercizi risolti utilizzando le catene di Markov. Prevedere il meteo

 fruit[3:]
⇒ ‘ana’

Se il primo parametro è maggiore o uguale al secondo, otterrai una stringa vuota, rappresentata da due virgolette:
 fruit = 'banana'
 fruit[3:3]
⇒ ”
Ti potrebbe interessare anche:

[elementor-template id=”12586″]

[no_toc]

(198)

PubblicitàPubblicità