[Python]文字列を1文字ずつforループするには?

python

どうも、ちょげ(@chogetarou)です。

文字列を1文字ずつforループする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列を1文字ずつforループする方法は、3つあります。

in str

1つ目は、「in」の右辺に文字列を指定する方法です。

具体的には、「for 変数 in」の後に文字列を記述します。

for x in text:
    #ループ処理

上記のfor文は、文字列を1文字ずつループします。

使用例

text = "ABCDEFG"

for x in text:
    print(x)
出力:
A
B
C
D
E
F
G

enumerate()

2つ目は、enumerate()を使う方法です。

まず、forの後に2つの変数を記述します。

「in」の右辺にenumerate()を指定します。

そして、enumerate()の引数に、文字列を指定します。

あとは、forループの処理を記述します。

for index, item in enumerate(text):
    #ループ処理

上記のforループは、文字列を1文字ずつforループします。

また、左側の変数でインデックス、右側の変数で文字列の文字を取得します。

使用例

text = "ABCDEFG"

for index, item in enumerate(text):
    print(index, ':', item)
出力:
0 : A
1 : B
2 : C
3 : D
4 : E
5 : F
6 : G

[::-1]

3つ目は、[::-1]を使う方法です。

具体的には、「for 変数 in」の後に[::-1]でスライスした文字列を記述します。

for x in text[::-1]:
    #ループ処理

上記のforループは、文字列を後ろから1文字ずつforループします。

使用例

text = "ABCDEFG"

for x in text[::-1]:
    print(x)
出力:
G
F
E
D
C
B
A
スポンサーリンク

まとめ

文字列を1文字ずつforループする方法は、次の3つです。

  • 「in」の右辺に文字列を指定する方法
    for x in text:
  • enumerate()を使う方法
    for index, item in enumerate(text):
  • [::-1]を使う方法
    for x in text[::-1]:

コメント

タイトルとURLをコピーしました