Python - 文字列から最後の文字を取得する

文字列末尾の文字を取得するには、マイナスのインデックスを使用します。

最後の文字を取得する方法

インデックスにマイナス値を指定すると、後ろから数えた位置の値を取得できます。 -1 で末尾、-2 で後ろから2番目の文字を取り出せます。
結果(文字列末尾の文字) = 文字列[-1]
結果(文字列の後ろから2番目の文字) = 文字列[-2]

次のコードは 末尾と後ろから2番目の文字を取得し、結果を表示します。

text = 'abcdefg'

# 最後の文字を取得
lastChar = text[-1]
# 結果 = 'g'
print(f'lastChar -> {lastChar}')

# 最後から2番目の文字を取得
lastChar = text[-2]
# 結果 = 'f'
print(f'lastChar -> {lastChar}')

文字列の後ろから、複数の文字を取得する

インデックスの範囲指定でもマイナスのインデックスが使用できます。
文字列が 'abcdefg' のとき
結果(1文字目~2文字目) = 文字列[0:2] -> 'ab'
結果(1文字目~2文字目) = 文字列[:2] -> 'ab'
結果(3文字目~末尾) = 文字列[2:] -> 'cdefg'
結果(3文字目~4文字目) = 文字列[2:4] -> 'cd'
結果(末尾1文字) = 文字列[-1:] -> 'g'
結果(後ろから3文字目~末尾) = 文字列[-3:] -> 'efg'
結果(1文字目~後ろから4文字目) = 文字列[:-3] -> 'abcd'
結果(後ろから3文字目~後ろから2文字目) = 文字列[-3:-1] -> 'ef'
結果(後ろから3文字目~後ろから3文字目) = 文字列[-3:-2] -> 'e'
次のコードは 末尾の2文字 と 3文字目~後ろから2文字目 を取得し、結果を表示します。
text = 'abcdefg'

# 末尾の2文字を取得
lastText = text[-2:]
# 結果 = 'fg'
print(f'lastChar -> {lastText}')

# 後ろから3文字目~後ろから2文字目の文字を取得
lastText = text[-3:-1]
# 結果 = 'ef'
print(f'lastText -> {lastText}')
サンプルコードの実行結果
サンプルコードの実行結果

リスト(配列)でもマイナスのインデックスを使用可能

リストでも同様に末尾の値を取得できます。詳細は次の記事を参照してください。

検証環境