使用環境
- macOS
- Python3.9.12
スライスとは
文字列やリストのインデックスを[インデックス:]と指定することで要素を取り出せる操作のことです。
使用例
- [インデックス:]と指定した場合、指定したインデックスから最後までの要素が取得できます。
※インデックスは0から始まります。'あいう' だとあ→0、い→1、う→2となります。
x = 'これはスライス文です'
y = ['a','b','c','d','e']
print(x[5:])
print(y[3:])
イス文です
['d', 'e']
xでは5番以降の要素、yでは3番以降の要素が取得できました。
次に、[:インデックス]とすると指定した場合は、インデックスより手前の要素が取得できます。
x = 'これはスライス文です'
y = ['a','b','c','d','e']
print(x[:5])
print(y[:3])
これはスラ
['a', 'b', 'c']
xでは5番目より前の要素、yでは3番目より前の要素が取得できました。
先ほどと少し違い、インデックスを除外した部分の要素を取得できます。
次は[インデックス:インデックス]の形です。
x = 'これはスライス文です'
y = ['a','b','c','d','e']
print(x[2:5])
print(y[0:3])
はスラ
['a', 'b', 'c']
xでは、2番目以降5番目未満の要素を取得しています。
yでは0番以降3番目未満の要素を取得しています。
続いては、[-インデックス:]、[:-インデックス]と、インデックスをマイナスで指定した場合です。
マイナスで指定したときは、'あいう'が、あ→-3、い→-2、う→-1となり最初は0ではありません。
x = 'これはスライス文です'
y = ['a','b','c','d','e']
print(x[-5:])
print(y[:-1])
イス文です
['a', 'b', 'c', 'd']
プラスの時と同じで、インデックスが:の左にあるときは、指定インデックスを含んだ要素が取得でき、
:の右にあるときは指定インデックスを除外した要素を取得できます。
次は[-インデックス:-インデックス]の時です。
x = 'これはスライス文です'
y = ['a','b','c','d','e']
print(x[-4:-1])
print(y[-3:-1])
ス文で
['c', 'd']
これもプラスの時と同じで、左のインデックスを含み、右のインデックスを除外した要素が取得できます。
最後にステップという操作についてです。
ステップは[インデックス:インデックス:数値]という形になります。
指定したインデックス内でスタートから+数値ずつした番号の要素を取得する操作です
x = 'これはスライス文です'
y = ['a','b','c','d','e']
print(x[0:7:2])
print(y[1:4:1])
こはラス
['b', 'c', 'd']
xでは、0番から7番未満の要素で、0番から+2ずつした番号の要素を取得しています。
yでは、1番から4番未満の要素で、1番から+1ずつした番号の要素を取得しています。
最初から最後までをステップ操作したいときは、
[::数値]で出来ます。
x = 'これはスライス文です'
print(x[::2])
こはラスで
ちなみに
[::-1]とすると要素を逆順で取得できます。
x = 'これはスライス文です'
print(x[::-1])
すで文スイラスはれこ
まとめ
技術ブログを書きたいと思っており、言語処理の勉強中に学んだことを復習のつもりでまとめました。
ここまで見てくださりありがとうございました。