Pythonのrange関数でシーケンスを生成

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関数を使いこなすことで、効率的にループ処理を行い、コードの可読性を高めることができます。