反復処理に 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 つの引数 start
と stop
を指定することで、異なる開始値を指定できます。構文は次のとおりです。
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()
はシンプルでありながら強力なソリューションを提供します。