web-dev-qa-db-fra.com

Python Pour obtenir l'index de la boucle

J'écris une simple Python pour boucle pour afficher le caractère actuel dans une chaîne. Cependant, je n'ai pas pu obtenir l'index du caractère. Voici ce que j'ai, est-ce que quelqu'un connaît un bon moyen? obtenir l'index actuel du personnage dans la boucle?

 loopme = 'THIS IS A VERY LONG STRING WITH MANY MANY WORDS!'

 for w  in loopme:
    print "CURRENT Word IS " + w + " AT CHARACTER " 
40
user1817081

Utilisez la fonction enumerate() _ pour générer l'index avec les éléments de la séquence sur laquelle vous effectuez une boucle:

for index, w in enumerate(loopme):
    print "CURRENT Word IS", w, "AT CHARACTER", index 
80
Martijn Pieters

Voulez-vous parcourir les caractères ou les mots?

Pour les mots, vous devrez d'abord diviser les mots, tels que

for index, Word in enumerate(loopme.split(" ")):
    print "CURRENT Word IS", Word, "AT INDEX", index

Ceci imprime l'index du mot.

Pour la position de personnage absolue, vous avez besoin de quelque chose comme

chars = 0
for index, Word in enumerate(loopme.split(" ")):
    print "CURRENT Word IS", Word, "AT INDEX", index, "AND AT CHARACTER", chars
    chars += len(Word) + 1
4
glglgl