プログラミングにおいて、データの集まり(リストやタプルなど)に対して、同じ処理を順番に適用したい場面は頻繁に発生します。Pythonでは、for 文を使用することで、これらの要素に対する繰り返し処理を簡潔に記述できます。
Pythonの for 文は、他の言語で見られるような「カウンタ変数を使って回数を制御する」スタイル(for i = 0; i < 10; i++)とは異なり、「コレクション(集まり)から要素を一つずつ取り出して処理する」という、直感的で強力な仕組みを持っています。
この記事では、for 文の基本的な構文と、リストなどのイテラブル(反復可能オブジェクト)に対するループ処理の方法を解説します。
目次
for 文の基本構文
Pythonの for 文は、以下の構文で記述します。
for 変数 in イテラブル:
# ここに繰り返したい処理を書く
# 変数には、イテラブルから取り出された要素が順に入る
**イテラブル(Iterable)**とは、リスト、タプル、文字列、辞書、セットなど、「要素を順番に取り出すことができるオブジェクト」の総称です。
1. リストのループ処理
最も一般的な使い方は、リストに含まれる各要素に対して処理を行うことです。
以下の例では、サーバー名のリストから順に名前を取り出し、接続処理(を模したメッセージ出力)を行っています。
# サーバー名のリスト
server_list = ["Web-Server-01", "DB-Server-01", "Cache-Server-01"]
print("--- メンテナンス開始 ---")
# リストの要素を一つずつ 'server' 変数に代入してループ
for server in server_list:
print(f"接続中: {server}")
print(f"{server} のバックアップを作成しました。")
print("--- メンテナンス終了 ---")
実行結果:
--- メンテナンス開始 ---
接続中: Web-Server-01
Web-Server-01 のバックアップを作成しました。
接続中: DB-Server-01
DB-Server-01 のバックアップを作成しました。
接続中: Cache-Server-01
Cache-Server-01 のバックアップを作成しました。
--- メンテナンス終了 ---
2. 数値リストの集計
数値が格納されたリストをループさせ、合計値を計算する例です。
# 日別の売上データ
daily_sales = [1500, 2300, 1800, 3200, 2100]
total_sales = 0
for sale in daily_sales:
# 売上を加算する
total_sales += sale
print(f"データの個数: {len(daily_sales)}")
print(f"合計売上: {total_sales}")
実行結果:
データの個数: 5
合計売上: 10900
3. 文字列のループ処理
Pythonでは文字列(str)もイテラブルの一種です。for 文に文字列を渡すと、1文字ずつ順番に取り出されます。
app_code = "A105"
print("コード解析:")
for char in app_code:
# 文字が数字かどうかを判定して表示
if char.isdigit():
print(f"数字: {char}")
else:
print(f"文字: {char}")
実行結果:
コード解析:
文字: A
数字: 1
数字: 0
数字: 5
まとめ
- Pythonの
for文はfor 変数 in イテラブル:の形式で記述します。 - リスト、タプル、文字列などの要素を先頭から順番に取り出し、ブロック内の処理を実行します。
- インデックス番号(0, 1, 2…)を意識することなく、要素そのものに対して直接操作を行えるため、可読性の高いコードを記述できます。
