注目キーワード

【Python】一定間隔の連続した値を取得する方法-range関数でstepを指定する

はじめに

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未満の連続した値 が出力されていますね。

sample_range1.pyを実行

startを指定したrange関数

次は、「start」を指定した場合です。この場合の呼び出し方は、以下のように「start」と「end」を指定します。ちなみに「step」はデフォルトで1が設定されます。

range(start, end)※endの値は含まれない

なんだか少しややこしいですが、「start」は指定した値が含まれます。なので、以下のサンプルソースを実行した場合は、 5以上10未満の連続した値が出力されます。つまり、「5, 6, 7, 8, 9」が出力されます。

以下が sample_range2.py の実行結果になります。想定通り5以上10未満の連続した値が出力されていますね。

sample_range2.pyを実行

stepを指定したrange関数

最後に本題の「step」を指定したrange関数の使い方です。使い方は以下の通りで3番目の引数に間隔(step)を指定するだけです。

range(start, end, step)※endの値は含まれない

なので、以下のサンプルソースだと、2以上10未満の2個飛ばしの値が取得できます。なので「2, 4, 6, 8」が取得できます。(10未満なので10は含まれません。注意してください。)

スポンサーリンク

実行結果が以下になります。

sample_range3.pyを実行

まとめ

連続した値を取得するときは「range」関数を使う。

引数の指定方法は3パターンで以下の呼び出し方がある。

  • 終了を指定する呼び出し方、「range(end)」
  • 開始と修了を指定する呼び出し方、「range(start, end)」
  • 間隔を指定する呼び出し方、「range(start, end, step)

※endの値は含まれない