スライスを使ったリストの操作
目次
スライスによる操作
開始位置のインデックスから終了位置のインデックスまで、任意範囲の要素を取得できる。
def study_list_slice():
sample = [0, 10, 20, 30, 40, 50]
print("sample =", sample)
print("sample[2:4]", sample[2:4])
print("sample[:4]", sample[:4])
print("sample[2:]", sample[2:])
print("sample[:]", sample[:])
print("sample[3:-1]", sample[3:-1])
print("sample[-2:]", sample[-2:])
filename = 'apple.png'
print("filename =", filename)
print("filename[:-4]", filename[:-4])
実行結果
sample = [0, 10, 20, 30, 40, 50]
sample[2:4] [20, 30]
sample[:4] [0, 10, 20, 30]
sample[2:] [20, 30, 40, 50]
sample[:] [0, 10, 20, 30, 40, 50]
sample[3:-1] [30, 40]
sample[-2:] [40, 50]
filename = apple.png
filename[:-4] apple
以下に、個別に解説していく。
開始位置 (start) と、終了位置 (stop) を指定した場合
start は index、stop は length で指定する、と覚えるとよい。
sample = [0, 10, 20, 30, 40, 50]
print("sample[2:4]", sample[2:4])
実行結果
sample[2:4] [20, 30]
start を省略した場合
要素の最初から選択される。
sample = [0, 10, 20, 30, 40, 50]
print("sample[:4]", sample[:4])
実行結果
sample[:4] [0, 10, 20, 30]
stop を省略した場合
最後の要素まで選択される。
sample = [0, 10, 20, 30, 40, 50]
print("sample[2:]", sample[2:])
実行結果
sample[2:] [20, 30, 40, 50]
start, stop 両方を省略した場合
全ての要素が選択される。
sample = [0, 10, 20, 30, 40, 50]
print("sample[:]", sample[:])
実行結果
sample[:] [0, 10, 20, 30, 40, 50]
マイナス値で指定した場合
末尾からの位置になる。(-1 が最後の要素)
sample = [0, 10, 20, 30, 40, 50]
print("sample[2:4]", sample[3:-1])
実行結果
sample[3:-1] [30, 40]
start がマイナス値で、stop を省略した場合
sample = [0, 10, 20, 30, 40, 50]
print("sample[-2:]", sample[-2:])
実行結果
sample[-2:] [40, 50]
スライスによる文字列の操作
文字列はリストのようなものなので、前項と同様にスライスが使用できる。
ファイル名、拡張子を編集する時によく使う。
filename = 'apple.png'
print("filename =", filename)
print("filename[:-4]", filename[:-4])
実行結果
filename = apple.png
filename[:-4] apple