このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Python入門】インデックスとスライスをリストに使う

インデックスとスライスをリストに使う
リストは、Pythonにおける基本的なデータ構造の一つであり、複数のデータを一括して管理・操作するために広く利用されます。リストを効果的に活用することで、データへのアクセスや操作が容易になり、プログラムの柔軟性と効率性が向上します。ここでは、リストにおけるインデックスとスライスの使用方法について詳しく解説します。これらの技術をマスターすることで、データの取得や部分的な操作がスムーズに行えるようになります。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
1.インデックスを使用して要素にアクセスする
リストはシーケンス型のデータ構造であるため、インデックスを使用して特定の要素にアクセスすることができます。インデックスは0から始まり、負のインデックスを使用することでリストの末尾から要素にアクセスすることも可能です。
【構文】リストから指定した位置の要素を取り出す(インデックス)
リスト[インデックス]
1.1. 正のインデックスの使用方法
正のインデックスを使用すると、リストの先頭から順に要素にアクセスできます。インデックス番号は0から始まります。
例:動物のリストから特定の要素を取得
サンプルプログラム
# 動物のリストを作成
animals = ['cat', 'dog', 'elephant', 'giraffe']
print(animals) # 出力: ['cat', 'dog', 'elephant', 'giraffe']
# 正のインデックスを使用して要素にアクセス
first_animal = animals[0]
third_animal = animals[2]
print(first_animal) # 出力: cat
print(third_animal) # 出力: elephant
実行結果
['cat', 'dog', 'elephant', 'giraffe']
cat
elephant
1.2. 負のインデックスの使用方法
負のインデックスを使用すると、リストの末尾から順に要素にアクセスできます。-1が最後の要素、-2が最後から二番目の要素となります。
例:動物のリストから末尾の要素を取得
サンプルプログラム
# 動物のリストを再度表示
print(animals) # 出力: ['cat', 'dog', 'elephant', 'giraffe']
# 負のインデックスを使用して要素にアクセス
last_animal = animals[-1]
second_last_animal = animals[-2]
print(last_animal) # 出力: giraffe
print(second_last_animal) # 出力: elephant
実行結果
['cat', 'dog', 'elephant', 'giraffe']
giraffe
elephant
2.スライスを使用して部分リストを取得する
スライスを使用することで、リストの一部を抽出して新しいリストを作成することができます。スライスには開始インデックス、終了インデックス、ストライドを指定することができます。
【構文】リストの一部を取り出す(スライス)
リスト[開始インデックス:終了インデックス]
リスト[開始インデックス:終了インデックス:ストライド]
2.1. 基本的なスライスの使用方法
基本的なスライスでは、開始インデックスから終了インデックスまでの要素を抽出します。終了インデックスの要素は含まれません。
例:動物のリストから特定範囲の要素を取得
サンプルプログラム
# 動物のリストを再度表示
print(animals) # 出力: ['cat', 'dog', 'elephant', 'giraffe']
# スライスを使用して要素を取得
subset_animals = animals[1:3]
print(subset_animals) # 出力: ['dog', 'elephant']
実行結果
['cat', 'dog', 'elephant', 'giraffe']
['dog', 'elephant']
2.2. ストライドを含むスライスの使用方法
ストライドを指定することで、スライスの間隔を調整することができます。ストライドはデフォルトで1ですが、他の値を指定することでスキップして要素を取得できます。
例:動物のリストからストライドを使って要素を取得
サンプルプログラム
# ストライドを使用して要素を取得
stride_animals = animals[0:4:2]
print(stride_animals) # 出力: ['cat', 'elephant']
実行結果
['cat', 'elephant']
まとめ
以下の表に、ここで解説した「インデックスとスライスをリストに使う」についての主要なポイントをまとめます。
項目 | 説明 |
---|---|
インデックスによるアクセス | リストの要素にアクセスするために正のインデックス(0から開始)と負のインデックス(末尾から開始)を使用する。 |
正のインデックスの使用方法 | 0から始まるインデックスを使用して、リストの先頭から要素にアクセスする。 |
負のインデックスの使用方法 | -1から始まるインデックスを使用して、リストの末尾から要素にアクセスする。 |
スライスによる部分リストの取得 | 開始インデックスから終了インデックスまでの要素を抽出し、新しいリストを作成する。終了インデックスは含まれない。 |
ストライドを含むスライスの使用方法 | ストライドを指定することで、スライスの間隔を調整し、特定の要素をスキップして取得する。 |
次のコンテンツでは、リストの代入時の注意点について詳しく解説していきます。リストに対する代入操作を行う際の注意点やベストプラクティスを学び、リスト操作の精度と安全性を高めましょう。