range() 整数シーケンス
最終更新:2026-09-22
range() 整数シーケンス
range(stop) または range(start, stop[, step]) は不変の整数シーケンスオブジェクトを返す。よく for ループと組み合わせて使う。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
range(stop)
range(start, stop[, step])
⚙️ 引数
| stop 必須 | The end value (exclusive); required. |
|---|---|
| start 任意 | The start value (inclusive); defaults to 0.(デフォルト値:0) |
| step 任意 | The step; defaults to 1; must not be 0.(デフォルト値:1) |
戻り値:An immutable range object of integers; iterable, sized, and indexable.
💥 例外
TypeError— Raised when an argument is not an integer (or lacks __index__).ValueError— Raised when step is 0.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
[0, 1, 2, 3, 4]
[1, 3, 5, 7, 9]
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qlist(range(5)) が [0,1,2,3,4] で、5 まで含まれないのはなぜ?
Arange は半開区間で、stop は含まれません。1 から 5 まで欲しい場合は range(1, 6) を使います。
Qrange(1, 10, 2) は何を生成しますか?
A1, 3, 5, 7, 9 を生成します。step が増分です。step に 0 を渡すと ValueError: range() arg 3 must not be zero になります。
Qrange はリストですか?メモリを多く使いますか?
Aリストではありません。start/stop/step の3つの値だけを保持する遅延シーケンスオブジェクトなので、range(10**9) でもメモリをほぼ消費しません。ただし len() やインデックス、in 演算子は使えます。
Q逆順にループするには?
A負の step を使います。range(10, 0, -1) は 10 から 1、range(4, -1, -1) は 4 から 0 を生成します。