Rechercher un caractère dans une chaîne en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction find() pour trouver la position d’un caractère dans une chaîne
  2. Utilisez la fonction rfind() pour trouver la position d’un caractère dans une chaîne
  3. Utilisez la fonction index() pour trouver la position d’un caractère dans une chaîne
  4. Utilisez la boucle for pour trouver la position d’un caractère dans une chaîne
Rechercher un caractère dans une chaîne en Python

Les chaînes sont une collection de caractères. Chaque caractère de la chaîne a une position spécifique qui peut être utilisée pour y accéder. Dans ce didacticiel, nous expliquerons comment trouver la position d’un caractère dans une chaîne.

Utilisez la fonction find() pour trouver la position d’un caractère dans une chaîne

La fonction find() renvoie la position d’une sous-chaîne. Nous pouvons également spécifier les positions de début et de fin dans lesquelles nous voulons rechercher (par défaut, le début est 0 et la fin est la longueur de la chaîne).

Dans le code suivant, nous utiliserons cette fonction pour trouver la position d’un caractère dans une chaîne.

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

Production:

5

Notez qu’il renvoie la première position du caractère rencontré dans la chaîne. Une autre chose à retenir à propos de cette fonction est qu’elle renvoie -1 lorsque la sous-chaîne donnée n’est pas présente dans la chaîne.

Utilisez la fonction rfind() pour trouver la position d’un caractère dans une chaîne

Cette fonction est similaire à la fonction find(), à la seule différence qu’elle renvoie la dernière position de la sous-chaîne.

Par example,

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

Production:

12

Utilisez la fonction index() pour trouver la position d’un caractère dans une chaîne

La fonction index() est utilisée de la même manière que la fonction find() pour renvoyer la position des caractères dans une chaîne. Comme la fonction find(), elle renvoie également la première occurrence du caractère dans la chaîne.

Par example,

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

Production:

5

La différence entre la fonction index() et find() est que la fonction index() renvoie ValueError lorsque le caractère requis est absent de la chaîne.

Utilisez la boucle for pour trouver la position d’un caractère dans une chaîne

Dans cette méthode, nous pouvons noter chaque occurrence du caractère dans une chaîne. Nous parcourons la chaîne et comparons chaque caractère individuellement. Chaque position où la correspondance est trouvée est indiquée et stockée dans une variable différente.

Le code suivant implémente cette logique.

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

Production:

[5, 12]

Nous utilisons la fonction enumerate() car elle facilite l’itération et assigne une variable de compteur à chaque caractère de la chaîne.

Nous pouvons également implémenter cette méthode en utilisant la méthode de compréhension de liste, qui est considérée comme plus rapide et plus propre.

Par example,

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

Production:

[5, 12]
Auteur: 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

Article connexe - Python String