Python 速習チュートリアル

Python リストのループ処理

1. リストのループ処理 (Loop Through a List)

for ループを使用することで、リスト(List)内のすべての項目(Items)を順番に処理することができます。

例:リスト内のすべての項目を1つずつ表示する

thislist = ["リンゴ", "バナナ", "チェリー"]
for x in thislist:
  print(x)

ループの詳細については、後続の「Python For Loops」の章で詳しく解説します。

2. インデックス番号によるループ (Loop Through the Index Numbers)

インデックス(Index)番号を参照してリスト項目をループ処理することも可能です。これには range() 関数と len() 関数を組み合わせて使用します。

例:インデックス番号を参照してすべての項目を表示する

thislist = ["リンゴ", "バナナ", "チェリー"]
for i in range(len(thislist)):
  print(thislist[i])

上記の例で作成されたイテラブル(Iterable)は [0, 1, 2] です。

3. while文によるループ (Using a while Loop)

while ループを使用してリスト項目をループ処理することもできます。

len() 関数を使用してリストの長さを取得し、0 から始めてリストのインデックスを1つずつ辿ります。各反復(Iteration)の後に、インデックスを 1 ずつ増やす(インクリメントする)ことを忘れないでください。

例:whileループを使用して、インデックス番号を確認しながらすべての項目を表示する

thislist = ["リンゴ", "バナナ", "チェリー"]
i = 0
while i < len(thislist):
  print(thislist[i])
  i = i + 1

ループの詳細については、後続の「Python While Loops」の章で詳しく解説します。

4. リスト内包表記によるループ

リスト内包表記(List Comprehension)を使用すると、リストをループ処理するための最も短い構文(Syntax)を記述できます。

例:リストを表示するための最短のforループ(1行)

thislist = ["リンゴ", "バナナ", "チェリー"]
[print(x) for x in thislist]

実務における開発では、単純なイテレーションには for x in list を使い、インデックスが必要な場合は enumerate() 関数(後述)や range(len(list)) を選択するのが一般的です。また、新しいリストを生成する目的があるなら、リスト内包表記を採用することで、コードの可読性と実行速度の両方を向上させることができます。