原文: Python For Loop - For i in Range Example‌‌
原著者: Jeremy L Thompson
翻訳・翻案: Manabu Matsumoto

ループはあらゆるプログラミング言語の主要な制御構造のひとつで、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 の値は変更できます。