733 votes

Comment obtenir la position d'un personnage en Python?

Comment puis-je obtenir la position d'un caractère dans une chaîne en python?

933voto

Eli Bendersky Points 82298

Il existe deux méthodes string pour cela, find et index.

Exemple:

>>> str = "Position of a character"
>>> str.index('s')
2

La différence est que, find retours -1 lorsque ce que vous cherchez n'est pas trouvé. index déclenche une exception.

La Fonction str.find(sub[, start[, end]])Retour l'indice le plus bas dans la chaîne où sous-chaîne sous est trouvé, tels que les sous est contenue dans l'intervalle [start, end]. Les arguments optionnels de début et de fin sont interprétées comme dans la tranche de notation. De retour -1 si sous n'est pas trouvé.

Et:

La Fonction str.index(sub[, start[, end]])Comme find(), mais raise ValueError lorsque le sous-chaîne n'est pas trouvée.

60voto

ghostdog74 Points 86060
 >>> s="mystring"
>>> s.index("r")
4
>>> s.find("r")
4
 

"Longue durée"

 >>> for i,c in enumerate(s):
...   if "r"==c: print i
...
4
 

pour obtenir la sous-chaîne,

 >>> s="mystring"
>>> s[4:10]
'ring'
 

14voto

John Machin Points 39706
 string.find(character)  
string.index(character)  
 

Peut-être voudriez-vous jeter un coup d'œil à la documentation pour savoir quelle est la différence entre les deux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X