本記事では、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のバージョンによって異なります。(詳しくは、こちら)
コメント