小学理科717236 views
いろは2986023 views
高校物理158224 views
MathPython491378 views
高校生物549842 views
小学算数1194618 views
Computer365120 views
中学英語808712 views
中学社会667106 views
英語607877 views
Help
Tools

English

Python の文字列はリストのように一文字ずつ取得できる

文字列はリストのように一文字ずつ取得できます。

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は文字列の要素数を越えるためインデックスエラーとなります。