スライスの基本構文
Python
のスライスは、リストや文字列の一部分を簡単に抽出するための非常に強力な方法です。スライス構文は次のように使用します。
a[start:stop:step]
start
スライスを開始するインデックス(省略可能)stop
スライスを終了するインデックス(省略可能)step
要素を取得する間隔(省略可能)
基本例
a = [0, 1, 2, 3, 4, 5]
print(a[1:4]) # [1, 2, 3]
ここでは、インデックス1から3までの要素が取得されます(stop
は含まれません)。
ステップを使用する例
step
を使うと、スライスで取得する間隔を指定できます。
a = [0, 1, 2, 3, 4, 5]
print(a[::2]) # [0, 2, 4]
逆順でのスライス
負のstep
を使うと、リストを逆順に取得できます。
a = [0, 1, 2, 3, 4, 5]
print(a[::-1]) # [5, 4, 3, 2, 1, 0]
スライスの柔軟性
スライスのstart
やstop
を省略すると、リストの最初から、または最後までを含めることができます。
print(a[:3]) # 最初の3要素を取得 [0, 1, 2]
print(a[3:]) # 3番目以降を取得 [3, 4, 5]
負のインデックス
負のインデックスを使うことで、リストの末尾から数えることが可能です。
print(a[-2:]) # 最後の2つの要素 [4, 5]
slice
オブジェクト
slice()
関数を使ってスライスをプログラム的に生成することもできます。
s = slice(1, 4, 2)
print(a[s]) # [1, 3]
結論
Python
のスライスは、リストや文字列などのシーケンス型データの一部分を簡単に操作するための非常に柔軟な機能です。基本的な操作から、負のインデックスやステップによる高度なスライス操作まで、幅広い用途で使用できます。