・for 文とかにつかうのはよくみるけど、、結局なんやこれ?
そんな悩みがあると思います。
「range関数」は開始から終了までの指定した連続数字の要素を生成するメソッドです。
たとえば range(1,10) としていすれば、連続数字「 1、2、3、.....9」を生成します。
range関数 は for 文やリストを生成するのに使われます。
一般的なプログラミング言語ならば、for文を書くときは下記のように書くと思います(例えば Javascript の場合)。
1 2 3 |
for(var i = 0;i < 10;i++){ print(i); } |
for 文の中身を変数 i でうけて、それをインクリメントする。。って感じだと思います。
しかし Python ではこのように書くことができません。
for文を書くときは下記のように range 関数を用いります。
1 2 |
foor i in range(1,10): print(i) |
このように「range関数」はfor 文(ループ文)を記述する場合に非常に便利な関数であり、Python を学ぶ上で知っておいて損のない関数です。
この記事では「range関数」について初心者でもわかるように具体的なソースコードを用いて解説します!
「range関数」の基本的な文法
range関数では下記のように3つの文法があります。
- rangeで終了値のみを指定・・・range(終了値)
- rangeで開始値と終了値を指定・・・range(開始値, 終了値)
- rangeで開始値と終了値、増分量を指定・・・range(開始値, 終了値, 増分)
rangeで終了する位置のみを指定
rangeで終了値を指定する場合、「range(終了値)」という形式で記述します。
range(終了)をすると [0 ~ (終了 - 1)] までの連続数値が生成されます。
たとえば下記のように range(5) と指定すると [0, 1, 2, 3, 4] の要素が生成されます。
1 2 3 4 5 |
n = range(5) print(list(n)) ## 実行結果 [0, 1, 2, 3, 4] |
※ 上記の list(n) は表示用にわかりやすくするためにリスト型に変換しています。
rangeで開始と終了を位置を指定
rangeで開始値と終了値を指定する場合、「range(開始値, 終了値)」という形式で記述します。
range(開始, 終了)をすると [開始 ~ (終了 - 1)] までの連続数値が生成されます。
たとえば下記のように range(4, 10) と指定すると [4, 5, 6, 7, 8, 9] の要素が生成されます。
1 2 3 4 5 |
n = range(4, 10) print(list(n)) ## 実行結果 [4, 5, 6, 7, 8, 9] |
※ 上記の list(n) は表示用にわかりやすくするためにリスト型に変換しています。
rangeで開始と終了を位置を指定し、増分量も指定する
rangeで開始値と終了値、増分量も指定する場合、「range(開始, 終了, 増分)」という形式で記述します。
range(開始, 終了, 増分)をすると [開始 ~ (終了 - 1)] までの数値が増分量として生成されます。
たとえば下記のように range(4, 20, 3) と指定すると [4, 7, 10, 13, 16, 19] と3ずつ増分する要素が生成されます。
1 2 3 4 5 |
n = range(4, 10) print(list(n)) ## 実行結果 [4, 7, 10, 13, 16, 19] |
また増分量は負の数を指定することも可能です。
たとえば下記のように range(20, 4, -4) と指定すると [20,16,12,8] と-4ずつ増分する要素が生成されます。
1 2 3 4 5 |
n = range(20, 4, -4) print(list(n)) ## 実行結果 [20,16,12,8] |
※ 上記の list(n) は表示用にわかりやすくするためにリスト型に変換しています。
「range関数」を用いてリストを生成!
range関数で指定した連続数字をリストにするには list 関数を使います。
たとえば下記のように range(5) と指定するとリスト n = [0, 1, 2, 3, 4] が生成されます。
1 2 3 4 5 |
n = range(4, 10) print(list(n)) ## 実行結果 [4, 5, 6, 7, 8, 9] |
「range関数」を用いて for 文を作成!
range関数をつかって for 文を作成する方法についてです。
Python の for 文は「for 変数 in 範囲」という文法ですが、「範囲」を range と記述すればOKです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
for i in range(1,10): print(i) ## 実行結果 1 2 3 4 5 6 7 8 9 |
上記は数字を1~9まで表示させるプログラムです。
このように range関数をつかえば簡単に for文を作成できます。
※ Python の for 文についてより詳しく知りたい方は下記記事もぜひどうぞ(^^♪
最後に
いかがでしたでしょうか?
この記事では、Pythonの「range関数」について解説しました。
この記事が読者の Python 開発のお役に立てれば幸いです。
この記事がいいなと思ったら SNS とかでシェアしていただけると嬉しいです!
ではでは。