range
関数は、指定した範囲の数値を生成するための組み込み関数です。ループ処理や特定の回数だけ繰り返し処理を行いたい場合に非常に便利です。本記事では、range
関数の基本的な使い方や引数の種類、具体的なサンプルコードを交えて解説します。
range
関数の基本構文
range
関数の基本的な構文は以下の通りです。
range(start, stop, step)
range
関数の引数
- start(任意): 数列の開始値(整数)を指定します。デフォルトは0です。
- stop: 数列の終了値(整数)を指定します。
stop
の値は範囲に含まれません。 - step(任意): 数列の増減値(整数)を指定します。デフォルトは1です。
for
文でrange
関数を使う例
range
関数はfor
文と組み合わせて使うことが多いです。ここではfor
文での使い方をいくつか紹介します。
1.stopのみを指定するパターン
start
とstep
を省略し、stop
のみを指定するパターンです。0からstop
未満の連続した整数が生成されます。
コピーしました!
for i in range(5):
print(i)
出力:
0
1
2
3
4
2.startとstopを指定するパターン
start
とstep
を指定する場合、start
からstop
未満の整数が生成されます。
コピーしました!
for i in range(2, 6):
print(i)
出力:
2
3
4
5
3. すべての引数を指定する場合
start
からstop
未満の数値が、step
ごとに生成されます。step
が負の場合、降順で数列が生成されます。
コピーしました!
for i in range(1, 10, 2):
print(i)
出力:
1
3
5
7
9
stepが負の場合
コピーしました!
for i in range(5, 0, -1):
print(i)
出力:
5
4
3
2
1
for
文以外でrange
関数を使う例
range
関数はfor
文以外でも、リストやタプルに変換したり、特定の回数の繰り返し処理のために利用できます。
1. list
関数でリストに変換
range
オブジェクトをリストに変換することで、数値のリストを作成できます。
コピーしました!
numbers = list(range(5))
print(numbers)
出力:
[0, 1, 2, 3, 4]
2. 条件分岐でrange
を使う
range
を条件式と組み合わせて使うことで、特定の範囲内で条件を満たすかチェックできます。
コピーしました!
n = 4
if n in range(1, 6):
print("nは1から5の範囲内です")
出力:
nは1から5の範囲内です
3. インデックス処理
リストの要素に対してインデックスを用いた処理を行う際にrange
を使用できます。
コピーしました!
fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
print(f"{i}: {fruits[i]}")
出力:
0: apple
1: banana
2: cherry
4. タプルや集合に変換
range
をタプル型や集合型に変換することも可能です。
コピーしました!
tuple_numbers = tuple(range(3))
set_numbers = set(range(3))
print(tuple_numbers)
print(set_numbers)
出力:
(0, 1, 2)
{0, 1, 2}
range
関数の戻り値
range
関数は「rangeオブジェクト」を返します。これにより、大量の数値をメモリ上に保持することなく、必要なタイミングで数値を生成するため効率的です。
コピーしました!
r = range(3)
print(type(r))
print(list(r))
出力:
<class 'range'>
[0, 1, 2]
まとめ
range
関数は、ループ処理や特定の回数の繰り返しに欠かせない関数です。for
文で使う場合は、順方向・逆方向の数列や任意のステップ数の数列を生成できます。また、for
文以外でもリスト変換やインデックス操作などで活用できます。
本メディアの記事等の内容には細心の注意を払っておりますが、正確性を保証するものではありません。もし記事内に誤りや不正確な情報がございましたら、こちらのお問い合わせフォームよりご連絡ください。
当メディアは、読者の皆様からのご指摘を大切にし、内容の見直しや修正を行うことで、より有益な記事を提供していく所存です。皆様のご理解とご協力をお願いいたします。