スライスとは

・[位置1:位置2]を用いて、文字列の一部を抽出できます。これをスライスと呼びます
・文字列もリストと同じようにインデックスを用いて、指定した位置の1文字を取得できます。

 負の数を指定すると、後ろからの位置を指定できます。-1は最後の文字、-2は最後から2番目の文字になります。
・リストのスライス と同じように、文字列もスライスできます。

実例
hello = 'Hello, World'
print(hello[0])  # 0番目の文字「H」
print(hello[2:5])  # 2〜4番目の文字「llo」

※[1:3]の:の数字は終了の指定文字の数に+1をする
上記の場合表示されるのは1~2までの文字となる

message = 'Hello, World'

print(message[0])  # 0番目の文字
print(message[7:])
print(message[2:4])
print(message[:5])
print(message[-1])
print(message[:-3])


実行結果
H
World
ll
Hello
d
Hello, Wo

,(カンマ)も1文字としてカウントされるので注意


使い方
print(message[:-3])  # 最初から最後から3番目の文字の直前まで 「Hello, Wo」
print(message[-1])  # 最後の1文字 「d」
print(message[:5])  # 最初から4番目まで 「Hello」
print(message[2:4])  # 2番目から3番目まで 「ll」
print(message[7:])  # 7番目目から最後まで 「World」


下記の書き方で文字列を逆から表示できます。

x = 'おもてなし'
print(x[::-1])  # しなてもお


ステップ数

ステップ数とは、開始位置から、終了位置まで何文字おきに取得するか指定できる値です。

 

書き方
[開始位置:終了位置:ステップ] 

※ステップを省略すると 1 が指定されているのと同じ状態です。

実例

message[::3] は開始位置と終了位置が指定されていないので「最初から最後まで」を「3文字に1文字ずつ」となります。

message = '春は曙。やうやう白くなりゆく山際、すこしあかりて、紫だちたる雲の細くたなびきたる。'
print(message[::3])
実行結果

春。やくゆ際こか、ち雲くびる