Pythonのfor文:繰り返し処理の魔法
Pythonのfor
文は、プログラムの中で同じような処理を何度も繰り返したいときに非常に便利な構文です。この記事では、for
文の基本的な使い方から、少し応用的なテクニックまで、初心者の方にも分かりやすく解説していきます。
for文の基本構造
for
文は、リストやタプル、文字列などのイテラブルオブジェクトと呼ばれるデータ構造から、要素を一つずつ取り出して、その要素に対して特定の処理を実行します。基本的な構文は以下の通りです。
for 変数 in イテラブルオブジェクト:
# 実行する処理 (変数は各要素を指す)
- 変数: イテラブルオブジェクトから取り出された要素が格納される変数の名前です。
- イテラブルオブジェクト: 繰り返し処理の対象となるリストやタプル、文字列などのデータ構造です。
- 実行する処理: 変数を使って行う処理を記述します。この部分はインデント(通常はスペース4つ)されている必要があります。
例えば、以下のようなリストがあったとします。
fruits = ["apple", "banana", "cherry"]
このリストの各要素を出力するには、for
文を使って次のように記述します。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
このコードを実行すると、以下の結果が出力されます。
apple
banana
cherry
for
文は、リストfruits
から要素を順番に取り出し、fruit
という変数に格納します。そして、print(fruit)
によって、fruit
に格納された要素の値が出力されます。この処理がリストのすべての要素に対して繰り返されます。
range()関数との組み合わせ
for
文は、range()
関数と組み合わせて、指定した回数だけ処理を繰り返すこともできます。range()
関数は、連続した整数のシーケンスを生成します。
for i in range(5):
print(i)
このコードは、0から4までの整数を順番に出力します。range(5)
は、0, 1, 2, 3, 4という整数のシーケンスを生成し、for
文は、このシーケンスから一つずつ整数を取り出して、i
という変数に格納します。
range()
関数は、開始値と終了値、ステップを指定することもできます。
for i in range(1, 10, 2): # 1から9まで2ずつ増加
print(i)
このコードは、1, 3, 5, 7, 9を出力します。
for文のネスト(入れ子)
for
文の中にさらにfor
文を記述することができます。これをネストされたfor文と呼びます。ネストされたfor
文は、多次元のデータ構造(例えば、リストのリスト)を処理する際に役立ちます。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for element in row:
print(element, end=" ") # end=" " で改行せずにスペースで区切って出力
print() # 行の終わりに改行
このコードは、以下の結果を出力します。
1 2 3
4 5 6
7 8 9
外側のfor
文は、matrix
から各行を取り出し、内側のfor
文は、各行から要素を取り出して出力します。
breakとcontinue
for
文の実行を制御するために、break
文とcontinue
文を使用できます。
- break:
break
文は、for
文の実行を強制的に終了させます。 - continue:
continue
文は、現在のイテレーションをスキップして、次のイテレーションに進みます。
numbers = [1, 2, 3, 4, 5, 6]
for number in numbers:
if number == 3:
break # numberが3になったらループを終了
print(number)
このコードは、1と2を出力して、numberが3になった時点でループを終了します。
numbers = [1, 2, 3, 4, 5, 6]
for number in numbers:
if number == 3:
continue # numberが3になったらスキップ
print(number)
このコードは、1, 2, 4, 5, 6を出力します。numberが3になったとき、continue
文によってprint(number)
がスキップされます。
まとめ
for
文は、Pythonプログラミングにおいて非常に重要な構文です。リストやタプルなどのイテラブルオブジェクトを繰り返し処理したり、range()
関数と組み合わせて指定した回数だけ処理を実行したりできます。また、break
文とcontinue
文を使用することで、for
文の実行を柔軟に制御することができます。これらの基本を理解し、様々な場面でfor
文を使いこなせるように練習しましょう。
◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
詳細はこちら
興味がある方はまず質問だけでもどうぞ!
