見出し画像

「:」を使って複数の要素をとってくる

ちょっとインデックスという概念に混乱したのでまとめます
Pythonでスライスしてリストから複数の要素を取得する方法です。

Pythonのリストでは、スライス記法(:)を使うことで、複数の要素を一度に取得することができます。以下に例を示します。

list = [2, 4, 6, 8, 10, 12]

print(list[1:4])  # 出力範囲は開始:未満なので、[4, 6, 8] を取得
print(list[0:4])  # 0を省略可能。結果は [2, 4, 6, 8]
print(list[3:5])  # 開始:未満で [8, 10]
print(list[3:])   # 開始から最後まで取得。結果は [8, 10, 12]


list = [2, 4, 6, 8, 10, 12] print(list[1:4]) # 出力範囲は開始:未満なので、
[4, 6, 8] を取得
print(list[0:4]) # 0を省略可能。
結果は [2, 4, 6, 8]
print(list[3:5]) # 開始:未満で [8, 10]
print(list[3:]) # 開始から最後まで取得。結果は [8, 10, 12]

スライス記法の仕組み

スライスでは、[開始:終了] の形式で指定します。

  • 開始 はインデックス番号で、取得を開始する位置を指定します。

  • 終了 はインデックス番号で、未満の位置までの要素を取得します。

  • インデックス番号はリストの要素に対して 0 から始まります。

例えば、リスト [2, 4, 6, 8, 10, 12] の場合:

  • インデックス 0 は 2 を指します。

  • インデックス 1 は 4 を指します。

  • インデックス 2 は 6 を指します。

  • つまりこの例では、0〜5までのインデックス番号があります。

スライスの具体例

例1: list[1:4]

  • 開始 = 1(インデックス番号1はリストの 4)

  • 終了 = 4(インデックス番号4は リストの10 ですが、未満なので 10 は含まれない)

  • 出力: [4, 6, 8]

例2: list[3:5]

  • 開始 = 3(インデックス番号3は 8)

  • 終了 = 5(インデックス番号5は リストの12 ですが、未満なので 12 は含まれない)

  • 出力: [8, 10]

例3: list[3:]

  • 開始 = 3(インデックス番号3は 8)

  • 終了 を指定していないため、開始から最後まで取得する。

  • 出力: [8, 10, 12]

補足

  • list[:4] のように 開始 を省略すると、リストの最初から 終了 の位置まで取得します。

  • list[3:] のように 終了 を省略すると、開始 からリストの最後まで取得します。


いいなと思ったら応援しよう!

ken@IT
テキスト代って結構に馬鹿にできないんですよね。。。