【完全ガイド】Python for文の使い方(range・zip関数)

【完全ガイド】Python for文の使い方(range・zip関数)

記事の文字数:1165

Pythonのfor文は、繰り返し処理を行うための基本構文です。基本から応用まで実装例を用いて解説します。range(),enumerate(),zip()関数の活用方法や内包表記での実装、breakやcontinueによるループ制御など様々な方法を紹介します。


スポンサーリンク

Pythonのfor文は、シーケンス(リスト、タプル、文字列など)やイテラブルオブジェクトを反復処理するための基本的な制御構文です。本記事では、for文の基本的な使い方から応用例までを詳しく解説します。
初心者から上級者まで役立つ内容になっているかと思いますので、是非参考にしてください。

for文の基本的な使い方

Pythonのfor文は、リストや文字列の各要素を順番に処理するために使用されます。

リストの各要素を出力

for-ex01.py
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num) # 各要素が順番に出力される
実行結果(for-ex01.py)
1
2
3
4
5

文字列の各文字を出力

for-ex02.py
word = "Python"
for char in word:
print(char) # 文字列の各文字が1文字ずつ出力される
実行結果(for-ex02.py)
P
y
t
h
o
n

range()を活用した繰り返し処理

range()関数を使うと、一定の回数繰り返し処理を行うことができます。

0から4までの数値を出力

for-ex03.py
for i in range(5):
print(i) # 0, 1, 2, 3, 4 が順番に出力される
実行結果(for-ex03.py)
0
1
2
3
4

1から10までの偶数を出力

for-ex04.py
for i in range(2, 11, 2):
print(i) # 2, 4, 6, 8, 10 が順番に出力される
実行結果(for-ex04.py)
2
4
6
8
10

上記のrange(2, 11, 2)は、range(開始, 終了, ステップ)の形式で指定されており、以下のように動作します。

  • 2: ループの開始値(2から始まる)
  • 11: ループの終了値(11は含まれず、10まで処理される)
  • 2: ステップ(2ずつ増加する)

そのため、2, 4, 6, 8, 10という偶数のリストが生成されます。

ネストされたfor文の活用

for文を入れ子(ネスト)にすることで、二重ループを作成できます。

九九の出力

for-ex05.py
for i in range(1, 10):
for j in range(1, 10):
print(f"{i} x {j} = {i * j}") # 各段の掛け算が出力される
実行結果(for-ex05.py)
1 x 1 = 1
9 x 9 = 81

enumerate()でインデックス付きループ

リストのインデックスと要素を同時に取得するには、enumerate()関数を使います。

for-ex06.py
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}") # インデックスと要素が同時に出力される
実行結果(for-ex06.py)
0: apple
1: banana
2: cherry

zip()を使ったfor文

複数のリストを同時にループ処理するには、zip()関数を使います。

for-ex07.py
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old.") # 各要素が対応する形で出力される
実行結果(for-ex07.py)
Alice is 25 years old.
Bob is 30 years old.
Charlie is 35 years old.

リスト内包表記

リスト内包表記を使うと、簡潔にリストを作成できます。

0から9までの平方数のリストを作成

for-ex08.py
squares = [x ** 2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
実行結果(for-ex08.py)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

breakとcontinueでループ制御

  • break: ループを途中で終了する
  • continue: 現在のループの処理をスキップし、次のイテレーションへ進む

5が見つかったらループを終了

for-ex09.py
for i in range(10):
if i == 5:
break
print(i) # 0, 1, 2, 3, 4 が出力された後、ループが終了する
実行結果(for-ex09.py)
0
1
2
3
4

偶数のみを出力

for-ex10.py
for i in range(10):
if i % 2 == 1:
continue
print(i) # 0, 2, 4, 6, 8 が出力される
実行結果(for-ex10.py)
0
2
4
6
8

else付きのfor文

for文にはelseを付けることができ、ループが正常終了したときに実行されます。

for-ex11.py
for i in range(3):
print(i)
else:
print("ループが正常終了しました") # 0, 1, 2 が出力された後に実行される
実行結果(for-ex11.py)
0
1
2
ループが正常終了しました

まとめ

Pythonのfor文は、リストや文字列の処理、繰り返し回数の制御、複数のリストの同時処理など、さまざまな用途に使えます。breakcontinueを適切に活用し、効率的なコードを書きましょう!

また、enumerate()やzip()といった便利な関数を活用することで、より簡潔で読みやすいコードを記述できます。実際の開発で使えるように、ぜひ積極的に試してみてください!


以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top