文字列を使ったPythonのスライスをColaboratoryで実行

指定した範囲を切り取ったり、逆順にしたりするPythonのスライス文字列
使ってColaboratoryで実行します。そして、実行した様子とその解説を投稿します。

リストを使ったPythonのスライスについては下の投稿になります。
PythonのスライスをColaboratoryで実行 リスト

目次
1.スライスについて
・スライスの使い方


2.文字列のスライスの使い方
・始まり、終わりの範囲を指定する場合
・始まり、終わりの範囲(どちらか片方)を指定しない場合
・始まり、終わり両方を指定しない場合
・間隔を指定する場合
・マイナスを指定する場合


3.逆順で表示



1.スライス(slice)について

スライス(slice)は薄く切り取る、薄く切るという意味になります。
なので、Pythonのスライスは文字列やリストデータを切り取るイメージになります。

スライスの使い方

文字列のスライスの使い方はリストと同じでコロン(:)を使って指定する範囲の始まり、終わり、間隔を指定します。
イメージ
変数=”文字列”
変数[始まり:終わり:間隔]
変数[2:5]や変数[:3]、変数[::2]のようにして使います。

文字列を入れた変数に対してリストで使うカッコ[]とコロン(:)で切り取る範囲の始まり、終わり、間隔を指定します。

2.文字列のスライスの使い方

・始まり、終わりの範囲を指定する場合

スライスで文字列データを取り出すときはリストと同じで0番目から取り出します。

moji=”A B C D E F G”
番号    0 1 2 3 4 5 6

moji[0:3]は要素番号0~2までのデータを取り出します。ABC
moji[2:5]は要素番号2~4までのデータを取り出します。CDE
moji[3:4]は要素番号3のデータを取り出します。D

・始まり、終わりの範囲(どちらか片方)を指定しない場合

moji=”A B C D E F G”
番号    0 1 2 3 4 5 6

moji[:3]の始まりの部分を書かない場合は文字列の最初にあたる”A“から取り出します。
moji[3:]の終わりの部分を書かない場合は文字列の最後にあたる”G“まで取り出します。

moji[:0]の始まりの部分を書かない場合は始まりが0番なので、データを取り出せないです。
moji[0:]の終わりの部分を書かない場合は0番のAから最後のGまで取り出します。




・始まり、終わり両方を指定しない場合

変数[始まり:終わり:間隔]始まりを指定しない場合は文字列の最初から終わりを指定しない場合は文字列の最後まで取り出すので、”ABCDEFG“を取り出します。

・間隔を指定する場合

文字列の間隔を空けて取り出したい場合は[ : : ]の1番右側に値を指定します。
変数[始まり:終わり:間隔]←この位置

moji=”A B C D E F G”
番号    0 1 2 3 4 5 6

moji[::2]は始まりのAから1個飛ばしで表示します。ACEG
moji[::3]は始まりのAから2個飛ばしで表示します。ADG
moji[1::2]は1番目のBから1個飛ばしで表示します。BDF

・マイナスを指定する場合

マイナスで指定する場合は文字列の後ろから数えます

moji=”A B C D E F G”
番号    0 1 2 3 4 5 6

moji[:-3]はABCDEFGの後ろ3つEFGを取り除いた文字列になります。ABCD
moji[-3:]はABCDEFGの後ろ3つEFGの文字列を取り出します。EFG

3.逆順で表示

文字列を逆順で表示するときは 変数[始まり:終わり:間隔]の間隔を指定する場所に-1を指定すると逆順になります。

逆順にした文字列を変数に入れて取り出す場合はになります。

変数moji_1にはGFEDCBAの文字列が入っています。
moji_1[0:1]は”G“を取り出し、moji_1[6:7]は”A“を取り出します。