【6日でできるPython入門】繰り返し for文①

プログラミングでは、「同じ処理を何度も実行したい」場面がよくあります。
 たとえば「リストにあるすべての名前を表示する」「合計点を計算する」「複数データから条件に合うものを抽出する」などです。

このような“繰り返し”を自動化するために使うのが、for文です。
for文は「データの集まり」から1つずつ値を取り出しながら、同じ処理を順番に実行できます。
Pythonでプログラミングをする上で、繰り返しは必ず習得したい重要な構文です。

1.for文の基本

1.1. for文の構文とイテラブル

for文の基本構文は次のとおりです。

実行結果for 変数 in データの集まり:
    繰り返したい処理
  • 「データの集まり」はリストや文字列、タプル、集合、辞書などが使えます(これらを「イテラブル」と呼びます)。
  • for文は「データの集まり」から1つずつ値を「変数」に取り出し、インデントされた処理を繰り返します。

ファイル名: lesson14-1.py

colors = ["赤", "青", "緑", "黄"]
for color in colors:
    print("好きな色は", color, "です!")

実行結果

好きな色は 赤 です!
好きな色は 青 です!
好きな色は 緑 です!
好きな色は 黄 です!

解説

  • colorsリストから順番にcolorへ値を取り出し、print文を繰り返し実行しています。
  • インデント(字下げ)はfor文の範囲を表します。

1.2. for文で使える主な「データの集まり」(イテラブル)

特徴
リスト[1, 2, 3]複数の要素、順序あり
文字列"Python"1文字ずつ順に取り出し可能
タプル(1, 2, 3)リストと似ているが変更不可
辞書{'a':10, 'b':20}forでキーが順に取り出される
集合{1, 2, 3}重複なしの集まり

2.さまざまなfor文の使い方

2.1. 辞書のfor文(キー・値ペアを取り出す)

ファイル名: lesson14-2.py

scores = {"国語": 85, "数学": 92, "英語": 78}
for subject, score in scores.items():
    print(subject, "の点数は", score, "点です")

実行結果

国語 の点数は 85 点です
数学 の点数は 92 点です
英語 の点数は 78 点です

解説

  • scores.items()で「キーと値のペア」を順に取り出せます。
  • subject, scoreのように2つの変数で受け取るのは「アンパック」と呼びます。

2.2. ネストされたリストのfor文(アンパック)

ファイル名: lesson14-3.py

members = [
    ("佐藤", 25, "東京"),
    ("鈴木", 30, "大阪"),
    ("高橋", 22, "福岡")
]

for name, age, city in members:
    print(f"{name}さん({age}歳)は{city}出身です")

実行結果

佐藤さん(25歳)は東京出身です
鈴木さん(30歳)は大阪出身です
高橋さん(22歳)は福岡出身です

解説

  • リストの中にタプルが入っている場合、forで同時に複数の変数に展開できます(アンパック)。

3.breakとfor-else構文

3.1. breakで繰り返しを中断

ファイル名: lesson14-4.py

numbers = [2, 4, 7, 10, 5]
for n in numbers:
    if n > 8:
        print("8より大きい数が見つかりました:", n)
        break
    print(n, "は8以下です")

実行結果

2 は8以下です
4 は8以下です
7 は8以下です
8より大きい数が見つかりました: 10

解説

  • breakが実行されると、for文の繰り返しを即座に終了します。

3.2. for-else構文

ファイル名: lesson14-5.py

points = [50, 60, 75, 88, 92]
for p in points:
    if p < 40:
        print("40点未満がありました")
        break
else:
    print("全員が40点以上です")

実行結果

全員が40点以上です

解説

  • for文でbreakされなかった場合、elseの中身が実行されます。
  • 全てのループを完了したときだけ、else部分に到達します。

まとめ

  • for文はリストや辞書など、さまざまな「集まり」から値を1つずつ取り出して繰り返し処理できる
  • 変数を複数同時に受け取る「アンパック」も活用できる
  • breakfor-else構文で柔軟な繰り返し制御も可能

for文はプログラムの自動化やデータ処理の基本です。
しっかりマスターして、様々な場面で使えるようにしましょう!