【Pythonコラム】Pythonのfor文:繰り返し処理の魔法




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文を使いこなせるように練習しましょう。



サンプルコードを見る


< if文
コラム一覧に戻る
関数 >

レッスン概要

◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
◯高品質なサンプルコード
詳細はこちら
興味がある方はまず質問だけでもどうぞ!