web-dev-qa-db-ja.com

Python Forループのインデックス取得

単純なPython forループを使用して文字列内の現在の文字をprntします。ただし、文字のインデックスを取得できませんでした。ループ内の文字の現在のインデックスを取得するには?

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

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

enumerate() function を使用して、ループしているシーケンスの要素とともにインデックスを生成します。

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

文字や単語を繰り返し処理しますか?

単語の場合は、次のように最初に単語を分割する必要があります

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

これにより、Wordのインデックスが印刷されます。

絶対的な文字位置には、次のようなものが必要です

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