1. はじめに
Pythonの繰り返し処理で頻繁に登場するrange()関数は、特定の数値範囲を簡単に生成できる便利な関数です。
この記事では、「Python|range()関数の使い方」というテーマで、基本的な使い方から実務で使える応用例、エラー対策まで、初心者にもわかりやすく丁寧に解説していきます。
繰り返し処理(for文)との組み合わせはもちろん、リストやインデックス操作にも多用されるこの関数の使い方をマスターすることで、Python学習の幅がグッと広がります。
2. Pythonのrange()関数とは
range()関数の概要と基本構文
range()関数は、「指定した範囲の整数列を生成する」ための組み込み関数です。通常、for文と組み合わせて使われます。
基本構文は以下のとおりです:
range(stop)
range(start, stop)
range(start, stop, step)
- start:開始値(省略時は0)
- stop:終了値(この値は含まれません)
- step:増分(省略時は1)
基本的な使用例
例1:0から4までの数を出力
for i in range(5):
print(i)
実行結果:
0
1
2
3
4
例2:1から5までの数を出力
for i in range(1, 6):
print(i)
実行結果:
1
2
3
4
5
3. range()関数のよくある使い方・応用例
リストのインデックス操作に使う
リスト要素をインデックス付きで処理したいときに便利です。
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
print(i, fruits[i])
実行結果:
0 apple
1 banana
2 cherry
ステップ値を指定して偶数や奇数を抽出
step引数を使うと、偶数・奇数や特定の間隔で値を生成できます。
偶数(0, 2, 4, …)の例:
for i in range(0, 10, 2):
print(i)
実行結果:
0
2
4
6
8
逆順でループを行う
stepにマイナス値を指定すれば、逆順でループが可能です。
for i in range(5, 0, -1):
print(i)
実行結果:
5
4
3
2
1
rangeをリストに変換する
list()関数でrangeの結果をリストとして取得することもできます。
numbers = list(range(1, 6))
print(numbers)
実行結果:
[1, 2, 3, 4, 5]
4. range()関数の注意点・エラー対策
終了値(stop)は「含まれない」ことに注意
range(5)としたときに「5」が出力されないのは、終了値が含まれない仕様によるものです。
「なぜ5が表示されないのか?」と疑問に思う初心者が多いポイントなので、意識して覚えておきましょう。
stepが0だとエラーになる
stepに0を指定すると、ZeroDivisionErrorが発生します。
以下のようなコードはエラーとなるので注意しましょう。
# エラーになる例
for i in range(1, 10, 0):
print(i)
実行結果:
ValueError: range() arg 3 must not be zero
小数は使えない
range()関数では小数は扱えません。必要な場合はNumPyのarange()などの使用を検討しましょう。
# エラーになる例
for i in range(1.0, 5.0):
print(i)
実行結果:
TypeError: 'float' object cannot be interpreted as an integer
5. まとめ
- range()関数は、指定した範囲の整数列を簡単に生成できるPythonの基本関数
- start, stop, stepの3つの引数をうまく使えば柔軟な制御が可能
- 繰り返し処理やリストのインデックス操作、条件付きループなどに頻出
Python初心者にとって、range()の使い方をマスターすることはfor文理解の第一歩でもあります。
実務でも、データ処理や配列の走査、インデックス管理など、さまざまな場面で活躍するので、ぜひ繰り返し使って慣れていきましょう!
学習のコツ:「出力される数のパターンを頭で考え、紙に書いて確認」するのが効果的です。