最後の文字を取得する方法
インデックスにマイナス値を指定すると、後ろから数えた位置の値を取得できます。 -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'
text = 'abcdefg'
# 末尾の2文字を取得
lastText = text[-2:]
# 結果 = 'fg'
print(f'lastChar -> {lastText}')
# 後ろから3文字目~後ろから2文字目の文字を取得
lastText = text[-3:-1]
# 結果 = 'ef'
print(f'lastText -> {lastText}')

リスト(配列)でもマイナスのインデックスを使用可能
リストでも同様に末尾の値を取得できます。詳細は次の記事を参照してください。検証環境
- Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 21H2 OS Build 19044.2130 Experience: Windows Feature Experience Pack 120.2212.4180.0