Python
python3

pythonのスライスの基本

More than 1 year has passed since last update.

はじめに

pythonのスライスについてきちんと理解をするためにまとめます

まず[ ]による抽出

>>> test = 'abcde'
>>>test[0]
'a'
>>> test[4]
'e'
>>> test[5]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> test[-1]
'e'
>>> test[-5]
'a'
>>> test[-6]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

このように[0]~[文字列の長さ-1]までで指定する
マイナスで指定することで末尾から指定することができる

スライスを使う

使い方は[(先頭オフセット):(末尾オフセット):(ステップ)]を使う

>>>test = '0123456789'
>>> #全部抽出
...test[:]
'0123456789'
>>> #5から末尾まで
...test[5:]
'56789'
>>>#3から7まで
...test[3:7]
'3456'
>>>#末尾から5つ取り出す
...test[-5:]
'56789'
>>>#先頭から末尾まで2つごとに取り出す 
...test[::2]
'02468'
>>>#逆順に表示
...test[::-1]
'9876543210'
>>>#100文字目から末尾まで
...test[100:]
''
>>>#末尾の100文字手前から末尾まで
...test[-100:]
'0123456789'

スライスはミスったオフセットでもきちんと動作してくれる
逆順表示はすごく便利