Python: 範囲指定してリストの要素を取り出す(スライス)[]

スライス(範囲指定) []

Pythonで範囲を指定してリストの要素を取り出す場合は、 []角括弧を使ってインデックスの範囲を指定します。

書式
リスト[開始インデックス:終了インデックス+1]

リストの先頭要素のインデックスは「0」です。

具体的なコードは次の通りです。

li  = ["a", "b", "c", "d", "e"]

# 先頭から3番目まで
print(li[0:3])  # ['a', 'b', 'c']

# 2番目から4番目まで
print(li[1:4])  # ['b', 'c', 'd']

インデックスを省略した場合

最初のインデックスを省略した場合は「0」指定と同じになり、 終了のインデックスを省略した場合は「要素数」指定と同じになります。

li  = ["a", "b", "c", "d", "e"]

# li[0:3] と同じ
print(li[:3])  # ['a', 'b', 'c']

# li[1:len(li)] と同じ
print(li[1:])  # ['b', 'c', 'd', 'e']

ステップ数(間隔)を指定する

要素を取り出すステップ数(間隔)を指定することもできます。 次のように終了インデックスの次にステップ数を指定します。

リスト[開始インデックス:終了インデックス + 1:ステップ数]
li  = ["a", "b", "c", "d", "e", "f", "g"]

# ステップ数を指定
print(li[::2])  # ['a', 'c', 'e', 'g']

# 2番目の文字からステップ数2で取り出す
print(li[1::2])  # ['b', 'd', 'f']