
スポンサーリンク
Pythonのfor
文は、シーケンス(リスト、タプル、文字列など)やイテラブルオブジェクトを反復処理するための基本的な制御構文です。本記事では、for
文の基本的な使い方から応用例までを詳しく解説します。
初心者から上級者まで役立つ内容になっているかと思いますので、是非参考にしてください。
for文の基本的な使い方
Pythonのfor
文は、リストや文字列の各要素を順番に処理するために使用されます。
リストの各要素を出力
numbers = [1, 2, 3, 4, 5]for num in numbers: print(num) # 各要素が順番に出力される
12345
文字列の各文字を出力
word = "Python"for char in word: print(char) # 文字列の各文字が1文字ずつ出力される
Python
range()を活用した繰り返し処理
range()
関数を使うと、一定の回数繰り返し処理を行うことができます。
0から4までの数値を出力
for i in range(5): print(i) # 0, 1, 2, 3, 4 が順番に出力される
01234
1から10までの偶数を出力
for i in range(2, 11, 2): print(i) # 2, 4, 6, 8, 10 が順番に出力される
246810
上記のrange(2, 11, 2)
は、range(開始, 終了, ステップ)
の形式で指定されており、以下のように動作します。
2
: ループの開始値(2から始まる)11
: ループの終了値(11は含まれず、10まで処理される)2
: ステップ(2ずつ増加する)
そのため、2, 4, 6, 8, 10
という偶数のリストが生成されます。
ネストされたfor文の活用
for
文を入れ子(ネスト)にすることで、二重ループを作成できます。
九九の出力
for i in range(1, 10): for j in range(1, 10): print(f"{i} x {j} = {i * j}") # 各段の掛け算が出力される
1 x 1 = 1…9 x 9 = 81
enumerate()でインデックス付きループ
リストのインデックスと要素を同時に取得するには、enumerate()
関数を使います。
fruits = ["apple", "banana", "cherry"]for index, fruit in enumerate(fruits): print(f"{index}: {fruit}") # インデックスと要素が同時に出力される
0: apple1: banana2: cherry
zip()を使ったfor文
複数のリストを同時にループ処理するには、zip()
関数を使います。
names = ["Alice", "Bob", "Charlie"]ages = [25, 30, 35]
for name, age in zip(names, ages): print(f"{name} is {age} years old.") # 各要素が対応する形で出力される
Alice is 25 years old.Bob is 30 years old.Charlie is 35 years old.
リスト内包表記
リスト内包表記を使うと、簡潔にリストを作成できます。
0から9までの平方数のリストを作成
squares = [x ** 2 for x in range(10)]print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
breakとcontinueでループ制御
break
: ループを途中で終了するcontinue
: 現在のループの処理をスキップし、次のイテレーションへ進む
5が見つかったらループを終了
for i in range(10): if i == 5: break print(i) # 0, 1, 2, 3, 4 が出力された後、ループが終了する
01234
偶数のみを出力
for i in range(10): if i % 2 == 1: continue print(i) # 0, 2, 4, 6, 8 が出力される
02468
else付きのfor文
for
文にはelse
を付けることができ、ループが正常終了したときに実行されます。
for i in range(3): print(i)else: print("ループが正常終了しました") # 0, 1, 2 が出力された後に実行される
012ループが正常終了しました
まとめ
Pythonのfor
文は、リストや文字列の処理、繰り返し回数の制御、複数のリストの同時処理など、さまざまな用途に使えます。break
やcontinue
を適切に活用し、効率的なコードを書きましょう!
また、enumerate()やzip()といった便利な関数を活用することで、より簡潔で読みやすいコードを記述できます。実際の開発で使えるように、ぜひ積極的に試してみてください!
以上で本記事の解説を終わります。
よいITライフを!