574 votes

Itération sur une chaîne

En C++, je pourrais faire :

Comment effectuer une itération sur une chaîne en Python ?

508voto

hasenj Points 36139

Comme Johannes souligné,

for c in "string":
    #do something with c

Vous pouvez parcourir à peu près tout en python à l'aide de l' for loop construire,

par exemple, open("file.txt") renvoie un objet de fichier (et ouvre le fichier), itérer sur elle parcourt les lignes dans ce fichier

for line in open(filename):
    # do something with line

Si cela semble comme par magie, et bien c'est un peu, mais l'idée derrière cela est vraiment simple.

Il y a un itérateur simple protocole qui peut être appliquée à tout type d'objet à faire de l' for boucle de travailler sur elle.

Simplement de mettre en œuvre un itérateur qui définit un next() méthode, et de mettre en œuvre un __iter__ méthode d'une classe pour en faire itératif. ( __iter__ de cours, retourne un itérateur objet, un objet qui définit next())

Voir la documentation officielle

344voto

marcog Points 39356

Si vous devez accéder à l’index que vous parcourez la chaîne, utiliser `` :

94voto

Johannes Weiß Points 19013

Encore plus facile :

40voto

Andrew Szeto Points 632

Juste pour apporter une réponse plus complète, la voie C d’itération sur une chaîne peut appliquer en Python, si vous voulez vraiment pour forcer une pièce carrée dans un trou rond.

Mais là encore, pourquoi le faire lorsque les chaînes sont intrinsèquement itérables ?

3voto

Emiliano Points 2165

Les chaînes sont justes « séquences » en python et, à ce titre, peuvent être parcourues en boucle, comme l’a souligné Johannes.

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