文字列はリストのように一文字ずつ取得できます。
a = 'hello' print(a[0]) # h print(a[1]) # a
a[0] は hello の一文字目を表し、a[1] は hello の二文字目を表します。
文字列の長さを超えたとき
hello は 5 文字であり、0 から 4 までの文字しか取得できません。
a = 'hello' print(a[4]) print(a[5])
出力:
o Traceback (most recent call last): File "string_2.py", line 3, in <module> print(a[5]) IndexError: string index out of range
結果を見てわかるように a[4] の o は出力されていますが、a[5] はインデックスエラーが出ています。
マイナスのインデックス
マイナスのインデックスは、リストと同じように後ろの値を順に取得します。
a = 'hello' print(a[-1]) print(a[-2]) print(a[-3]) print(a[-4]) print(a[-5]) print(a[-6])
出力:
o l l e h Traceback (most recent call last): File "string_2.py", line 7, in <module> print(a[-6]) IndexError: string index out of range
-1 は最後の文字、つまり o を表します。それから順番に -2 は l、-3 は l、-4 は e、-5 は h を表し、-6は文字列の要素数を越えるためインデックスエラーとなります。