Pythonのfor文の使い方!リスト・辞書・文字列をループ処理する方法
生徒
「Pythonで、同じような処理を何回も繰り返すにはどうすればいいんですか?」
先生
「そういうときはfor文
という繰り返し処理を使うと便利です。リストや文字列などを順番に取り出して、何度も同じ処理ができますよ。」
生徒
「for文って、難しそうな印象があるんですが…」
先生
「心配しなくて大丈夫です。今回はリスト・辞書・文字列のループ処理を、やさしく解説していきますね。」
1. Pythonのfor文とは?
for文(ふぉーぶん)とは、リストや文字列などをひとつずつ取り出して、同じ処理を繰り返すための文です。
たとえば、買い物リストにある品物を1つずつ表示する、というようなことができます。
基本の書き方は以下の通りです。
items = ["りんご", "バナナ", "みかん"]
for item in items:
print(item)
りんご
バナナ
みかん
2. リストをfor文でループする
リストとは、複数のデータをまとめて管理できるものです。カンマで区切って[]
で囲んで書きます。
for文では、リストの中身を1つずつ順番に取り出して処理できます。
numbers = [10, 20, 30]
for n in numbers:
print(n * 2)
20
40
60
このように、リスト内の値を使って計算もできます。
3. range()関数とfor文で繰り返し
range()
関数を使うと、「1〜5まで繰り返す」といった決まった回数の繰り返しができます。
for i in range(5):
print(f"{i}回目の処理です")
0回目の処理です
1回目の処理です
2回目の処理です
3回目の処理です
4回目の処理です
range(5)
は0から4までの数字を順番に返します。
4. 辞書(dict)をfor文でループする
辞書(dictionary、ディクショナリ)とは、キーと値のセットでデータを管理する構造です。
たとえば、「名前」と「年齢」をセットで持つデータが作れます。
person = {"名前": "田中", "年齢": 25}
for key in person:
print(key, "→", person[key])
名前 → 田中
年齢 → 25
もっと丁寧に書くなら、.items()
を使うとキーと値を同時に取り出せます。
for key, value in person.items():
print(f"{key}は{value}です")
名前は田中です
年齢は25です
5. 文字列をfor文で1文字ずつ処理
文字列(string)もfor文で1文字ずつ取り出せます。
word = "Python"
for char in word:
print(char)
P
y
t
h
o
n
日本語も同じように処理できます。
greeting = "こんにちは"
for letter in greeting:
print(letter)
こ
ん
に
ち
は
6. for文のネスト(入れ子)で複雑な処理
for文の中にさらにfor文を入れると、ネスト(入れ子構造)になります。
たとえば、九九の表を作ることができます。
for i in range(1, 4):
for j in range(1, 4):
print(f"{i}×{j}={i*j}")
1×1=1
1×2=2
1×3=3
2×1=2
2×2=4
2×3=6
3×1=3
3×2=6
3×3=9
複雑になりますが、少しずつ練習すれば理解できます。
7. for文はあらゆる繰り返しに使える
Pythonのfor文は、リスト、辞書、文字列、range、タプルなど、さまざまなデータに対応しています。
ループ処理を使えば、同じ処理を短く書けるので、実用性がとても高いです。
「人数分のメッセージを送る」「データをすべてチェックする」「複数のファイル名を順番に表示する」など、いろいろな場面で使えます。