スライスとは
・[位置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])
実行結果
春。やくゆ際こか、ち雲くびる