Trova il carattere in una stringa in Python

Manav Narula 21 dicembre 2022
  1. Usa la funzione find() per trovare la posizione di un carattere in una stringa
  2. Usa la funzione rfind() per trovare la posizione di un carattere in una stringa
  3. Usa la funzione index() per trovare la posizione di un carattere in una stringa
  4. Usa il cicli for per trovare la posizione di un carattere in una stringa
Trova il carattere in una stringa in Python

Le stringhe sono una raccolta di caratteri. Ogni carattere nella stringa ha una posizione specifica che può essere utilizzata per accedervi. In questo tutorial, discuteremo come trovare la posizione di un carattere in una stringa.

Usa la funzione find() per trovare la posizione di un carattere in una stringa

La funzione find() restituisce la posizione di una sottostringa. Possiamo anche specificare le posizioni di inizio e fine in cui vogliamo cercare (per impostazione predefinita, l’inizio è 0 e la fine è la lunghezza della stringa).

Nel codice seguente, useremo questa funzione per trovare la posizione di un carattere in una stringa.

s = "python is fun"
c = "n"
print(s.find(c))

Produzione:

5

Notare che restituisce la prima posizione del carattere incontrato nella stringa. Un’altra cosa da ricordare su questa funzione è che restituisce -1 quando la sottostringa data non è presente nella stringa.

Usa la funzione rfind() per trovare la posizione di un carattere in una stringa

Questa funzione è simile alla funzione find(), con l’unica differenza che restituisce l’ultima posizione della sottostringa.

Per esempio,

s = "python is fun"
c = "n"
print(s.rfind(c))

Produzione:

12

Usa la funzione index() per trovare la posizione di un carattere in una stringa

La funzione index() è usata in modo simile alla funzione find() per restituire la posizione dei caratteri in una stringa. Come la funzione find(), restituisce anche la prima occorrenza del carattere nella stringa.

Per esempio,

s = "python is fun"
c = "n"
print(s.index(c))

Produzione:

5

La differenza tra la funzione index() e find() è che la funzione index() restituisce ValueError quando il carattere richiesto manca dalla stringa.

Usa il cicli for per trovare la posizione di un carattere in una stringa

In questo metodo, possiamo notare ogni occorrenza del carattere in una stringa. Ripetiamo la stringa e confrontiamo ogni carattere individualmente. Ogni posizione in cui viene trovata la corrispondenza viene indicata e memorizzata in una variabile diversa.

Il codice seguente implementa questa logica.

s = "python is fun"
c = "n"
lst = []
for pos, char in enumerate(s):
    if char == c:
        lst.append(pos)
print(lst)

Produzione:

[5, 12]

Usiamo la funzione enumerate() perché semplifica l’iterazione e assegna una variabile contatore ad ogni carattere della stringa.

Possiamo anche implementare questo metodo utilizzando il metodo di comprensione delle liste, che è considerato più veloce e più pulito.

Per esempio,

s = "python is fun"
c = "n"
print([pos for pos, char in enumerate(s) if char == c])

Produzione:

[5, 12]
Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Python String