Menu
CoddyTech

リストのスライス パート2

CoddyのPythonジャーニー「基礎」セクションの一部。レッスン 65/77。

スライスには、もう1つstepパラメーターがあります:lst[start:stop:step]。たとえば、次のリストを考えてみましょう。

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

インデックス1から8までの要素を1つおきに取得します:

print(numbers[1:8:2])
# 出力: [1, 3, 5, 7]

インデックス2から3つおきに要素を取得します:

print(numbers[2::3])
# 出力: [2, 5, 8]

スライスでは負のインデックスもサポートされています。

末尾から数える:

print(numbers[-3:])
# 出力: [7, 8, 9]

ここで、-3 は「末尾から3つ前の位置から開始する」という意味です

最後まで数える:

print(numbers[:-2])    
# 出力: [0, 1, 2, 3, 4, 5, 6, 7]

ここで、-2 は「末尾から 2 つ手前の位置で止める」(その位置は含まない)という意味です。

負のステップで逆順にする:

print(numbers[::-1])
# 出力: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • 最初の:の前が空欄なら「最初から開始」を意味します(ステップが負の場合は「最後から開始」)
  • :の間が空欄なら「最後まで進む」を意味します(ステップが負の場合は「最初まで進む」)
  • -1は「一度に1ステップずつ後ろに移動」を意味します 
challenge icon

チャレンジ

簡単

入力としてリストを受け取り(与えられた)、次のスライス操作に基づいて3つの新しいリストを出力するプログラムを作成してください。

  • インデックス1(2番目の要素)から始めて、3つおきの要素を含むリスト
  • 6番目の要素から1番目の要素までを逆順に含むリスト
  • リストの中央から末尾まで、2つおきの要素を含むリスト

自分で試してみよう

lst = input().split(",")
# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ