反復処理に Python の range() 関数を使用する

Python の range() 関数は、数値のシーケンスを生成するための強力なツールで、ループや反復処理でよく使用されます。これは、数値のシーケンスを反復処理する for ループで広く使用されており、Python コードで反復処理を制御するためのクリーンかつ効率的な方法を提供します。この記事では、range() 関数の使用方法、そのさまざまな形式について理解し、その使用例を見ていきます。

range() の基本的な使い方

range() 関数は、デフォルトで 0 から始まり、1 ずつ増加し (これもデフォルト)、指定された数値の前で停止する一連の数値を生成し、range() の基本構文は次のとおりです。

range(stop)

この形式の range() は、0 から始まり、stop の値まで (ただし、その値は含まない) の数値を生成します。次に例を示します。

for i in range(5):
    print(i)

このコードは以下を出力します:

# 0
# 1
# 2
# 3
# 4

開始値と終了値の指定

range() に 2 つの引数 startstop を指定することで、異なる開始値を指定できます。構文は次のとおりです。

range(start, stop)

この形式では、range()start から始まり、stop の前で停止する数値を生成します。例:

for i in range(2, 7):
    print(i)

このコードは以下を出力します:

# 2
# 3
# 4
# 5
# 6

ステップ値の追加

range() 関数では、シーケンス内の各数値間の増分 (または減分) を決定する step 値を指定することもできます。ステップを含める構文は次のとおりです。

range(start, stop, step)

たとえば、1 から 10 までの 2 刻みの数字のシーケンスを生成するには、次のようにします。

for i in range(1, 11, 2):
    print(i)

このコードは以下を出力します:

# 1
# 3
# 5
# 7
# 9

ネガティブステップの使用

負のステップ値を使用すると、range() は逆の順序で数値のシーケンスを生成できます。例:

for i in range(10, 0, -2):
    print(i)

このコードは以下を出力します:

# 10
# 8
# 6
# 4
# 2

range() の一般的な使用例

range() 関数は、さまざまなタスクのループでよく使用されます。

  • 特定の回数だけアクションを繰り返す
  • リストまたは配列をインデックスで反復処理する
  • 数学演算のための数列の作成
  • リストや辞書などのデータ構造をループするためのインデックスを生成する

インデックスベースのループに range()len() を使用する

一般的なパターンは、range()len() を組み合わせて、リストのインデックスを反復処理することです。

fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
    print(i, fruits[i])

このコードは以下を出力します:

# 0 apple
# 1 banana
# 2 cherry

結論

range() 関数は、特にループや反復を制御する場合に、Python プログラマーにとって多用途で不可欠なツールです。さまざまな引数とステップ値で range() を使用する方法を理解することで、より効率的で読みやすいコードを作成できます。インデックスを反復処理する場合も、数値シーケンスを生成する場合も、range() はシンプルでありながら強力なソリューションを提供します。