リストのスライス パート2
CoddyのPythonジャーニー「基礎」セクションの一部。レッスン 65/77。
スライスには別のstepパラメーターがあります:lst[start:stop:step]。例えば、次のリストを考えてみましょう:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]インデックス 1 から 8 まで、2 番目の要素をすべて取得します:
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 ステップずつ後ろに移動する」を意味します
チャレンジ
簡単入力としてリスト(given)を受け取り、次のスライス操作に基づいて3つの新しいリストを出力するプログラムを作成してください。
- インデックス1(2番目の要素)から開始し、3つおきの要素を含むリスト
- 6番目の要素から1番目の要素までを逆順にした、すべての要素を含むリスト
- リストの中央から末尾まで、2つおきの要素を含むリスト
自分で試してみよう
lst = input().split(",")
# 以下にコードを書いてくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ