<一覧に戻る

インデックスとスライス

Pythonのリストは非常に柔軟で強力なデータ構造です。リストの要素にアクセスするための「インデックス」と、複数の要素を取得するための「スライス」について学びましょう。

インデックス

リストのインデックスは、リストの要素にアクセスするための整数の位置を指します。インデックスは0から始まります。以下のサンプルコードを見てみましょう。

# リストの定義
fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']

# インデックスを使って要素にアクセス
print(fruits[0])  # apple
print(fruits[2])  # cherry
print(fruits[-1]) # elderberry (負のインデックスは末尾からのアクセス)

コードの解説

  • fruitsというリストを定義しています。
  • fruits[0]で1番目の要素('apple')にアクセスしています。
  • fruits[2]で3番目の要素('cherry')にアクセスしています。
  • fruits[-1]は負のインデックスを使って、リストの末尾の要素('elderberry')にアクセスしています。

スライス

スライスを使用すると、リストの特定の範囲の要素を取得できます。スライスの書き方はリスト[開始インデックス:終了インデックス]です。ただし、終了インデックスは含まれません。

以下のサンプルコードを見てみましょう。

# スライスを使って要素を取得
print(fruits[1:4])  # ['banana', 'cherry', 'date']
print(fruits[:3])    # ['apple', 'banana', 'cherry'] (開始インデックスを省略)
print(fruits[2:])    # ['cherry', 'date', 'elderberry'] (終了インデックスを省略)
print(fruits[-3:])   # ['cherry', 'date', 'elderberry'] (負のインデックスを使用)

コードの解説

  • fruits[1:4]で1番目から3番目の要素('banana', 'cherry', 'date')を取得しています。
  • fruits[:3]は開始インデックスを省略しており、リストの最初から3番目の要素までを取得します。
  • fruits[2:]は2番目の要素からリストの終わりまでを取得します。
  • fruits[-3:]はリストの末尾から3番目の要素から最後までを取得します。

スライスのステップ

スライスでは、ステップを指定することもできます。書き方はリスト[開始インデックス:終了インデックス:ステップ]です。

# ステップを使ったスライス
print(fruits[::2])   # ['apple', 'cherry', 'elderberry'] (2つおきに取得)
print(fruits[::-1])  # ['elderberry', 'date', 'cherry', 'banana', 'apple'] (逆順に取得)

コードの解説

  • fruits[::2]はリスト全体を2つおきに要素を取得します。
  • fruits[::-1]はリストを逆順に取得します。

まとめ

  • インデックスを使用してリストの特定の要素にアクセスできます。
  • スライスを使用してリストの特定の範囲の要素を取得できます。
  • スライスには、開始インデックス、終了インデックス、およびステップを指定できます。

これらの概念を用いて、Pythonでのリスト操作の幅を広げていきましょう。実際にコードを書いてみることで、理解を深めてください。

出力結果: