【Python】for文の書き方一覧

本記事では、Pythonでのfor文の書き方について解説します。

もくじ

for文の基本系

Pythonのfor文は、基本的には以下の形式で書きます。

for 変数リスト in 反復可能オブジェクト:
 反復実行する文

変数リストには、
一つの変数名、または、複数の変数名を指定します。

反復可能オブジェクト (iterable object) には、
配列やタプル、rangeオブジェクト(詳細は後述)など、
複数の要素を含んだオブジェクトを指定します。

まずは、一番簡単なfor文の書き方について見ていきましょう。

for val in [1,2,3,4,5]:
    # val を表示
    print(val)

上のソースコードの例では、反復可能オブジェクトにlist型の [1,2,3,4,5] を指定しました。
for文の繰り返されるごとに、配列の先頭から順番に1→2→3→4→5の順にvalに代入されます。

また、変数リストには、複数の変数が指定可能で、以下のように指定することもできます。

for val1, val2 in [(1,"Spring"), (2,"Summer"), (3,"Autumn"), (4,"Winter")]:
    # val1, val2 を表示
    print(str(val1) + " : " + val2)

複数指定の場合は、基本的にはタプルを反復可能オブジェクトに指定します。

これらの形が、基本的なPythonのfor文です。
しかし、これら以外にもpythonプログラマー界隈でよく書くパターンのコードがあるため、
以降では、頻出のfor文の書き方についてご紹介します。

for文の頻出パターン

range関数を使ったfor文

ここでは、range型という組み込み型を使ったfor文を説明します。
range型のオブジェクトを取得するには、以下の関数を使用します。

range(start, stop [,step])

このrange関数を使用して、for文を以下のように書きます。

for val in range(1,10):
    # valの繰り返し (1〜9まで)
    print(val)

startで指定した1から始まり、stopで指定した値 10 まで繰り返します。
ただし、stopで指定した数字は含みません。(今回の場合であれば、10は参照されない)

range型のオブジェクトを使って、以下のように書きます。



実は、rangeの挙動は、Pythonのバージョンによって異なります。(詳しくは、こちら)

コメント