はじめに
Pythonの開発を行っていて、一定間隔の連続した値を取得する方法が分からなかったので、調べてまとめました。どうやら、range関数を使うとよいそうで、いろいろな使い方があるので、こちらもサンプルソースを使いながら説明していきたいと思います。
この記事では、「range」関数の以下の呼び出し方について説明していきたいと思います。
- 終了を指定する呼び出し方、「range(end)」
- 開始と修了を指定する呼び出し方、「range(start, end)」
- 間隔を指定する呼び出し方、「range(start, end, step)」
タイトルの内容だけ知りたい方は目次から「stepを指定したrange関数」へ飛んでください。
対象レベル
Pythonの環境設定が整っており、Pythonの基本構文が理解出来ること。
詳しくは「【Python入門】〜初級編〜環境構築・基本構文まとめ」にまとめてあります。興味のある方はご覧ください。
endを指定したrange関数
まず初めに、引数が一つでendを指定した場合のrange関数です。使い方は以下の通りで「range(end)」で呼び出します。注意点は指定した値は含まれないことです。
range(end)※endの値は含まれない
以下のサンプルソースの呼び出し方だと、「start」と「step」をしていませんがデフォルトで「start=0」、「step=1」が設定されています。つまり、0以上10未満の連続した値が出力されます。
実行結果が以下になります。結果をみると「0, 1, 2 ・・・7 ,8, 9」と 0以上10未満の連続した値 が出力されていますね。

startを指定したrange関数
次は、「start」を指定した場合です。この場合の呼び出し方は、以下のように「start」と「end」を指定します。ちなみに「step」はデフォルトで1が設定されます。
range(start, end)※endの値は含まれない
なんだか少しややこしいですが、「start」は指定した値が含まれます。なので、以下のサンプルソースを実行した場合は、 5以上10未満の連続した値が出力されます。つまり、「5, 6, 7, 8, 9」が出力されます。
以下が sample_range2.py の実行結果になります。想定通り5以上10未満の連続した値が出力されていますね。

stepを指定したrange関数
最後に本題の「step」を指定したrange関数の使い方です。使い方は以下の通りで3番目の引数に間隔(step)を指定するだけです。
range(start, end, step)※endの値は含まれない
なので、以下のサンプルソースだと、2以上10未満の2個飛ばしの値が取得できます。なので「2, 4, 6, 8」が取得できます。(10未満なので10は含まれません。注意してください。)
スポンサーリンク
実行結果が以下になります。

まとめ
連続した値を取得するときは「range」関数を使う。
引数の指定方法は3パターンで以下の呼び出し方がある。
- 終了を指定する呼び出し方、「range(end)」
- 開始と修了を指定する呼び出し方、「range(start, end)」
- 間隔を指定する呼び出し方、「range(start, end, step)
※endの値は含まれない