
・Pythonのfor文の基本的な使い方が知りたい
・繰り返し処理の具体的な書き方が知りたい
という方に向けた記事になります。
Pythonの基本的な文法は理解してきたけど、for文の活用方法はたくさんあってどれをどう使えばいいのか分からない…と詰まることがあります。
そこで本記事では、「for文を使った繰り返し(ループ)処理の実践的な使い方」について詳しく解説します。
繰り返し処理は便利でよく使うので、for文は使いこなせるように頑張りましょう!
Pythonのfor文とは?繰り返し処理の基本動作


Pythonではfor文を使って「特定の処理を繰り返す(ループする)」ことができます。
同じ処理を指定した回数または要素数だけ繰り返し実行したい場合に使います。
ここでは、for文の基本的な書き方について見ていきます。
for文の役割と繰り返し処理の仕組み
Pythonのfor文は、複数のデータに対して同じ処理を繰り返し実行するための構文です。
プログラミングでは、データをループしながら1つずつ処理する場面が非常に多く、for文が活用されます。例えば、リストに格納された複数の数値を順番に表示したり、合計を計算したりする場合に使用されます。
Pythonのfor文は、「イテラブル」と呼ばれる繰り返し可能なオブジェクトを順に取り出す仕組みで動作します。イテラブルには、「リスト・タプル・文字列・辞書・セット」などが含まれます。
for文はこれらの要素を1つずつ自動的に取り出し、指定した処理を実行します。そのため、繰り返し回数を自分で管理する必要がなく、可読性の高いコードを書ける点が特徴です。
リストなどの要素数の分だけループするので繰り返し回数を指定する必要はありません。
for文の基本構文と書き方
Pythonのfor文は、非常にシンプルな構文で記述できます。基本形は以下のとおりです。
for 変数 in イテラブル:
繰り返し実行する処理
inの右側に指定したイテラブルから、要素が1つずつ取り出され、その値が左側の変数に代入されます。そして、インデントされたブロック内の処理が順番に実行されます。
インデントはPythonにおいて文法上の意味を持つため、必ず半角スペース4つで揃える必要があります。
例えば、リストの中身を表示する場合は次のように書きます。
numbers = [1, 2, 3]
for num in numbers:
print(num)
# 出力結果
# 1
# 2
# 3
numbersの要素[1, 2, 3]が先頭から順にnumへ代入され、print関数が3回実行されます。処理の流れが直感的であるため、コードの意図が読み取りやすい点がfor文の大きな利点です。
Pythonのfor文でよく使うデータ型の繰り返し処理


Pythonのfor文の基本的な書き方について解説しました。ここからは、実際によく使われるfor文の処理についてサンプルコードを用いて確認していきます。
「リスト・タプル・辞書・セット」といった代表的な利用方法を丁寧に説明します。
リスト・タプルの要素を順番に取り出す方法
リストやタプルは、Pythonで最もよく使われるデータ型の一つであり、for文との相性が非常に良い構造です。
どちらも複数の要素を順番に保持しているため、for文を使うことで要素を先頭から末尾まで自動的に処理できます。リストは要素の変更が可能で、タプルは変更できない点が異なりますが、for文での扱い方は共通しています。
リストの書き方は次のとおりです。
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
print(fruit)
# 出力結果
# apple
# banana
# orange
この例では、リスト「fruits」に含まれる文字列が1つずつ変数「fruit」に代入され、順番に出力されます。繰り返し回数を意識せずに処理できるため、コードの可読性が高まります。
タプルの場合も同様に記述でき、データの順序を保ったまま処理が行われます。
fruits = ("grape", "lemon", "cherry")
for fruit in fruits:
print(fruit)
# 出力結果
# grape
# lemon
# cherry
辞書・セットの要素を順番に取り出す方法
辞書(dict)やセット(set)もfor文で繰り返し処理が可能ですが、リストやタプルとは挙動が一部異なります。
辞書は「キーと値」の組み合わせを持つデータ型であり、for文でそのまま繰り返すとキーのみが順番に取り出されます。
scores = {"math": 90, "english": 75, "science": 60}
for subject in scores:
print(subject)
# 出力結果
# math
# english
# science
キーと値の両方を取得したい場合は、items()メソッドを利用します。
scores = {"math": 90, "english": 75, "science": 60}
for subject, score in scores.items():
print(subject, score)
# 出力結果
# math 90
# english 75
# science 60
「for subject in scores:
print(subject, scores[subject])」と記載してもキーと値の両方が取得できます!
一方、セットは重複を持たないコレクションであり、要素の順序は保証されません。そのため、for文で処理した際の順番は一定ではない点に注意が必要です。順序が重要な処理には、リストを使うことが推奨されます。
colors = {"red", "blue", "green"}
for color in colors:
print(color)
# 出力結果
# green
# red
# blue
Pythonのfor文と一緒に使う基本関数


Pythonでは、for文と組合せて使える関数がいくつかあります。
ここでは、range関数・enumerate関数・reversed関数の基本的な使い方について解説します。
range関数を使って繰り返し回数を指定する
range関数は、指定した回数だけ処理を繰り返したい場合にfor文と組み合わせて使用されます。
リストのように見えますが、実際には数値のシーケンスを順に生成するオブジェクトを返します。そのため、余分なメモリを消費せずに反復処理を行える点が特徴です。
基本的には、「range(終了値)」と記載します。例えば、0から4までの5回処理を行う場合は次のように記述します。
for i in range(5):
print(i)
# 出力結果
# 0
# 1
# 2
# 3
# 4
開始値や増分を指定したい場合は、range(開始値, 終了値, 増分)の形を使います。終了値は含まれない点に注意が必要です。


enumerate関数を使ってインデックスと要素を同時に取得する
enumerate関数は、要素の値とインデックス番号を同時に扱いたい場合に便利な関数です。for文と組み合わせることで、コードを簡潔に書けます。リストの要素番号を別途管理する必要がなくなり、可読性が向上します。
基本的な使用例は次のとおりです。
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits):
print(index, fruit)
# 出力結果
# 0 apple
# 1 banana
# 2 orange
この例では、変数「index」に0から始まる連番が入り、変数「fruit」には要素の値が代入されます。開始番号を変更したい場合は、「enumerate(イテラブル, start=開始値)」と指定できます。
reversed関数を使って逆順に繰り返しする
reversed関数は、要素を後ろから順に処理したい場合に使用します。リストを反転させた新しいリストを作る必要がなく、元のデータを保持したまま逆順の反復処理が可能です。
基本的な使用例は次のとおりです。
numbers = [1, 2, 3]
for num in reversed(numbers):
print(num)
# 出力結果
# 3
# 2
# 1
この例では、3から1の順で値が出力されます。ただし、reversedはすべてのイテラブルに対応しているわけではなく、シーケンス型など一部に限られます。対応していない場合は、list()で変換する必要があります。
Pythonのfor文で使える制御構文


Pythonでは、for文の処理を途中で終了したり、スキップしたりする制御構文があります。
ここでは、break文・continue文の基本的な使い方について解説します。
break文で繰り返しを途中で終了する
break文は、for文の繰り返し処理を途中で強制的に終了したい場合に使用します。
通常、for文はイテラブルの要素をすべて処理するまで実行されますが、特定の条件を満たした時点で処理を止めたいケースは少なくありません。そのような場面でbreakが役立ちます。
基本的な使い方は、条件分岐と組み合わせて記述します。
numbers = [1, 3, 5, 7]
for num in numbers:
if num == 5:
break
print(num)
# 出力結果
# 1
# 3
このコードでは、numが5になった時点でfor文が終了し、それ以降の処理は実行されません。結果として、1と3のみが出力されます。無駄な処理を避けられるため、パフォーマンス向上にもつながります。
break文の詳しい使い方は以下の記事で解説しています!
>>【Python】for/while文でループを抜けるbreakの使い方を解説


continue文で特定の処理をスキップする
continue文は、現在の繰り返し処理だけを中断し、次のループへ進みたい場合に使用します。for文全体を終了するbreakとは異なり、処理の一部を飛ばしたい場合に有効です。
numbers = [1, 2, 3, 4]
for num in numbers:
if num % 2 == 0:
continue
print(num)
# 出力結果
# 1
# 3
この例では、numが2で割り切れる、つまり偶数のときにcontinueが実行され、print処理がスキップされます。その結果、奇数のみが出力されます。
まとめ:Pythonのfor文を使って繰り返し処理を書けるようになろう
Pythonのfor文は、複数のデータを順番に処理するための基本的かつ重要な構文です。リストやタプル、辞書、セットといったデータ型を扱えるようになることで、日常的なプログラムの多くを簡潔に記述できます。
さらに、rangeやenumerate、reversedなどの関数を組み合わせることで、柔軟な繰り返し処理が可能になります。
また、breakやcontinueを理解すると、条件に応じた制御が行えるようになり、実用的なコードへと発展します。for文はPythonの設計思想を理解する上でも欠かせない要素であり、基礎段階で確実に習得しておくことが重要です。

コメント