クルトンのプログラミング教室

Pythonの使い方やPythonを使った競技プログラミングの解法などを解説しています。

range関数の使い方【Python】

こんにちは、クルトンです!

この記事では
range関数の使い方を解説します。

range関数とは

range関数は連番や等差数列を生成する関数です。


range関数はrange型のオブジェクトを返します。

コード

print(type(range(5)))

出力結果

<class 'range'>


list関数を使うことでlist型にすることができます。

コード

print(list(range(5)))

出力結果

[0, 1, 2, 3, 4]

今回はrange関数で生成された数列の中身を見るためにlist関数を使います。


range関数は引数の数によって働きが変わります。(このときrange関数の引数はすべて整数でないといけません!)


では、具体的な使い方を見ていきましょう!

range関数の使い方

引数が一つのとき

range(stop)

このとき、range関数は0以上stop未満の連番を出力します。

コード

print(list(range(5)))

出力結果

[0, 1, 2, 3, 4]

生成される連番が、stop「以下」ではなく「未満」であることに注意しましょう。(stopは含みません!

引数が二つのとき

range(start, stop)

このとき、range関数はstart以上stop未満の連番を出力します。

コード

print(list(range(2, 5)))

出力結果

[2, 3, 4]

このときも、生成される連番がstopを含まないことに注意しましょう。

引数が三つのとき

range(start, stop, step)

このとき、range関数はstartから始まってstepずつ増加する、stop未満の等差数列を出力します。

コード

print(list(range(2, 11, 3)))

出力結果

[2, 5, 8]

くどいかもしれませんが、生成される連番がstopを含まないことに注意しましょう!


また、stopには0未満の数字も指定することができます。
その場合は、range関数はstartから始まってstepずつ増加する、stopより大きい等差数列を出力します。(stepが負なのでstepずつ増加と表記してます!)

コード

print(list(range(11, 2, -3)))

出力結果

[11, 8, 5]

このときも、stopは含まれません。


また、stepに0を指定することはできないので注意してください。

まとめ

  • range関数は連番や等差数列を生成する関数
  • range関数は引数の数によって働きが変わる
  • 生成される数列はstopを含まない


今回はrange関数について解説しました。

この関数はfor文とセットで使うことが多いです。

for文とセットで使う方法はこの記事で説明しています。

kuruton.hatenablog.com


ではまたお会いしましょう!さようなら~