原文: Python For Loop - For i in Range Example
ループはあらゆるプログラミング言語の主要な制御構造のひとつで、Python においても例外ではありません。
この記事では、for
ループを Python の range()
関数とともに使用する例をいくつか見ていきましょう。
Python の For ループ
for
ループは、一組の値についてコードの一部を繰り返し実行します。
Python の公式ドキュメントで述べられているように、Python における for
ループの動作は、JavaScript や C 言語などにおける動作と少し異なります。
for
ループはイテレータ変数に、与えられたリスト、配列、文字列などの各値を設定し、イテレータ変数のそれぞれの値について for
ループのボディ内のコードを繰り返し実行します。
以下の例では、for
ループを使用して配列内のそれぞれの数値を出力に表示します。
# for ループの例
for i in [1, 2, 3, 4]:
print(i, end=", ") # 1, 2, 3, 4, を出力に表示
さらに、より複雑なロジックを for
ループのボディに加えることもできます。次の例では、イテレータ変数の値に応じて簡単な計算を行い、その結果を出力に表示します。
# より複雑な例
for i in [1, 3, 5, 7, 9]:
x = i**2 - (i-1)*(i+1)
print(x, end=", ") # 1, 1, 1, 1, 1, を出力に表示
for
ループに連続した値の配列を使用する場合は、配列の中身をすべて記述する代わりに、Python の range()
関数を使用できます。
Python の Range 関数
range()
関数は、その引数に基づいた整数列を返します。range()
関数についての詳細な情報は、Python の公式ドキュメントを参照してください。
range(stop)
range(start, stop[, step])
start
引数は、整数列の最初の値です。range()
がただ 1 つの引数とともに呼び出される場合は、Python は start = 0
であると見なします。
stop
引数は、整数列の上限値です。重要なことですが、この上限値は整数列には含まれないことを理解しておきましょう。
以下の例では、デフォルトの値である 0
からスタートし、5
より小さい整数で構成される整数列が得られます。
# 1 つの引数での例
for i in range(5):
print(i, end=", ") # 0, 1, 2, 3, 4, を出力に表示
次の例では、start = -1
を設定し、同じく 5
より小さい整数で構成するようにしています。
# 2 つの引数での例
for i in range(-1, 5):
print(i, end=", ") # -1, 0, 1, 2, 3, 4, を出力に表示
オプションの step
の値は、整数列の値の間の増加分を制御します。デフォルトの値は step = 1
です。
最後の例では、-1
から 5
までの整数列を使用し、step = 2
に設定しています。
# 3 つの引数での例
for i in range(-1, 5, 2):
print(i, end=", ") # -1, 1, 3, を出力に表示
まとめ
この記事では、Python の for
ループと range()
関数について説明しました。
for
ループは、リスト、配列、文字列、または range()
内のすべての値について、コードのブロックを繰り返し実行します。
range()
を使用することにより、for
ループをシンプルに記述できます。range()
の stop
の値は必ず指定する必要があり、また range()
の start
の値と、整数の間の step
の値は変更できます。