Rechercher un caractère dans une chaîne en Python
-
Utilisez la fonction
find()
pour trouver la position d’un caractère dans une chaîne -
Utilisez la fonction
rfind()
pour trouver la position d’un caractère dans une chaîne -
Utilisez la fonction
index()
pour trouver la position d’un caractère dans une chaîne -
Utilisez la boucle
for
pour trouver la position d’un caractère dans une chaîne
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]
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.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python