Pythonのrangeとは
Pythonのrange関数は、指定した範囲内の連続した整数を生成するための組み込み関数です。
これは、ループ処理やリストの生成など、さまざまな場面で使用されます。
range関数はイテラブル(繰り返し処理が可能なオブジェクト)を返し、指定した範囲の整数を順に生成します。
基本的な使い方
range関数は以下の3つの引数を取ることができます。
1. start:
シーケンスの最初の値を指定します。
省略した場合は0になります。
2. stop:
シーケンスの終わりの値を指定します(stop自体は含まれません)。
3. step:
次の値への増分を指定します。
省略した場合は1になります。
例1: startとstopのみ指定する場合
for i in range(5): print(i)
このコードは、0から4までの整数を出力します。
range(5)は0, 1, 2, 3, 4の整数を生成します。
例2: start、stop、stepを指定する場合
for i in range(1, 10, 2): print(i)
このコードは、1から9までの奇数を出力します。
range(1, 10, 2)は1, 3, 5, 7, 9の整数を生成します。
特徴と注意点
- rangeオブジェクトはイテラブルである:
rangeはリストのようなシーケンスを生成しますが、実際にはメモリ効率が高いイテラブルオブジェクトを生成します。
つまり、全ての要素を一度にメモリに格納するわけではなく、必要に応じて次の要素を生成します。
- 負のステップ:
stepに負の値を指定すると、降順のシーケンスを生成します。
for i in range(10, 0, -1): print(i)
このコードは10から1までの整数を出力します。
- rangeオブジェクトの変換:
必要に応じてlist(range(...))のようにして、rangeオブジェクトをリストに変換することができます。
まとめ
rangeはPythonの基本的な関数の1つで、ループ処理やシーケンス生成に非常に便利です。
メモリ効率が良く、簡単に整数のシーケンスを作成できるため、Pythonのプログラミングにおいて頻繁に使用されます。