← トップ
9 / 10

9. スライス(リストの一部を取り出す)

CONCEPT

スライスslice(スライス)。一部を切り取るでは リスト[開始:終了] と書くと、リストの一部を切り取って取り出せます。「何番目から何番目まで」という指定で、新しいリストが作られます。

📍 使い道: 文字列やリストの「最初から3番目まで」を取り出す
COMMON MISTAKES — よくある間違い
スライスの終了インデックスを含むと思うlist[1:4] は list[1], list[2], list[3] です。list[4] は含まれません。
負のインデックスの意味を間違えるlist[-1] は最後の要素。list[-3:-1] は後ろから3つ目〜後ろから2つ目(最後は含まない)。
コードを1行ずつ実行してみよう
example.pyPython
1fruits = ["apple", "banana", "cherry", "date"]# fruits にリストを代入
2part1 = fruits[1:3]# fruits[1:3] → インデックス1〜2を取り出す
3part2 = fruits[:2]# fruits[:2] → 最初からインデックス1まで
4part3 = fruits[2:]# fruits[2:] → インデックス2から最後まで
« 次の行 » ボタンを押して実行を開始
VARIABLES
実行すると変数の状態が表示されます
スライスは [開始:終了] で一部を取り出す機能です。 [1:4] ならインデックス1から3まで(4は含まない)。 [:3] なら最初から3つ、[2:] なら3番目から最後まで取り出せます。
📚 読み方ガイド
コード読み方
fruits[1:3]インデックス1から2まで(3は含まない)
fruits[:2]最初からインデックス1まで
fruits[2:]インデックス2から最後まで
fruits[::-1]順番を反転させる
fruits[::2]1つ飛ばしで取り出す
KEY POINT

スライスslice(スライス)。一部を切り取るの書式: リスト[開始:終了:ステップ]。開始は含む、終了は含まない(終了の1つ前まで)。インデックスは0から始まる。省略もできる。

確認問題
1次の結果は?
letters = ["a", "b", "c", "d", "e"] print(letters[2:4])
['c', 'd'] です。インデックス2(c)から3(d)まで。4(e)は含まれません。スライスslice(スライス)。一部を切り取るでは終了インデックスは含まれません。
2[10, 20, 30, 40, 50] から [40, 50] を取り出すスライスは?
nums = [10, 20, 30, 40, 50] # ??? = nums[???]
nums[3:] または nums[3:5] です。インデックス3(40)から最後までを取り出します。
3"Python" を反転させるスライスは?
text = "Python" # ??? = text[???]
text[::-1] です。ステップに -1 を指定すると反転します。結果は "nohtyP" になります。
CHEAT SHEET — まとめ
3行で分かる
  • リストや文字列の「一部分」を切り取って取り出す仕組み
  • [開始:終了] で範囲指定・終了の位置は含まない
  • [::2] で飛ばし・[::-1] で逆順も可能
スライス