Pythonのrange 関数の使い方
Pythonのrange関数は、数値のシーケンスを生成するために使われます。
主にループの制御に利用されることが多いです。
Python 3のrange関数は、range(start, stop, step)という形で3つの引数を取ります。
これらの引数の使い方について詳しく説明します。
まず、range関数の基本的な構文は以下の通りです。
range(start, stop, step)
- startは、シーケンスの開始値を指定します。
デフォルトは0です。
- stopは、シーケンスの終了値を指定します。
この値はシーケンスに含まれません。
- stepは、シーケンスの間隔を指定します。
デフォルトは1です。
例えば、range(5)と書くと、0から4までの整数を含むシーケンスが生成されます。
この場合、startの値は省略され、デフォルトの0が使用されます。
stopの値は5なので、5は含まれません。
for i in range(5): print(i)
このコードは、0から4までの数字を順に出力します。
range関数にstartとstopの2つの引数を指定することもできます。
例えば、range(2, 6)と書くと、2から5までの整数を含むシーケンスが生成されます。
ここでは、startが2で、stopが6なので、6は含まれません。
for i in range(2, 6): print(i)
このコードは、2から5までの数字を出力します。
さらに、step引数を指定すると、シーケンスの間隔を変更することができます。
例えば、range(0, 10, 2)と書くと、0から8までの偶数のシーケンスが生成されます。
ここでは、startが0、stopが10で、stepが2なので、0, 2, 4, 6, 8が含まれます。
for i in range(0, 10, 2): print(i)
このコードは、0, 2, 4, 6, 8の数字を出力します。
逆方向にシーケンスを生成したい場合は、stepに負の値を指定します。
例えば、range(10, 0, -2)と書くと、10から2までの偶数のシーケンスが生成されます。
ここでは、startが10、stopが0、stepが-2なので、10, 8, 6, 4, 2が含まれます。
for i in range(10, 0, -2): print(i)
このコードは、10, 8, 6, 4, 2の数字を出力します。
range関数は、リストやタプルのように具体的なシーケンスのデータ構造を生成するわけではなく、イテレータオブジェクトを返します。
これにより、range関数はメモリ効率が良く、大きなシーケンスを扱う際にも効果的です。
また、range関数をリストに変換することで、生成されたシーケンスを確認することができます。
list(range(start, stop, step))と書くことで、リストとして確認できます。
print(list(range(5)))
このコードは、リスト形式で[0, 1, 2, 3, 4]を出力します。
以上が、Python 3におけるrange関数の使い方です。
range関数を使いこなすことで、効率的にループ処理を行い、コードの可読性を高めることができます。