リストのスライス パート1
CoddyのPythonジャーニー「Fundamentals」セクションの一部 — レッスン 64/77。
スライスを使用すると、次の構文を使用してリストの一部を抽出できます:lst[start:stop]。例えば、次のリストを考えてみましょう:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]リストの一部を取得する:
print(numbers[2:6])
# 出力: [2, 3, 4, 5]これは、インデックス2(含める)からインデックス6(含めない)までの要素を取得します。
開始パラメータを省略する場合:
print(numbers[:5])
# 出力: [0, 1, 2, 3, 4]start が省略された場合、slice はインデックス 0 から始まります
stopパラメータを省略する場合:
print(numbers[5:])
# 出力: [5, 6, 7, 8, 9]stop が省略された場合、slice は最後まで継続します。
チャレンジ
簡単入力としてリストを受け取り(given)、そのリストの長さに応じて、以下のようにスライスされたリストを出力するプログラムを作成してください:
- 奇数長のリストの場合:中央の要素とその両隣の要素を1つずつ取得します(計3要素)
- 偶数長のリストの場合:中央の2つの要素を取得します
数値を割る際:
/は小数を返します (5/2 = 2.5)//は小数点以下を切り捨てます (5//2 = 2)
このチャレンジでは、リストのスライスには整数しか使用できないため、// を使用してください。
チートシート
Pythonのスライス機能を使うと、リストの一部を抽出することができます:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 基本的なスライス
print(numbers[2:6]) # [2, 3, 4, 5]
# 開始インデックスを省略(インデックス0から開始)
print(numbers[:5]) # [0, 1, 2, 3, 4]
# 終了インデックスを省略(最後まで抽出)
print(numbers[5:]) # [5, 6, 7, 8, 9]構文: lst[start:stop] (startは含み、stopは含みません)
自分で試してみよう
lst = input().split(",")
# 以下にコードを記述してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。