Pythonにはrange関数と呼ばれるコードがあります。range関数を利用すると、連続する数を扱うにあたって効率的な作業が期待できます。もしPythonを使ってプログラミングをしたければ、range関数をマスターしておくといいでしょう。
今回はPythonのrange関数の基本的な知識と使い方・実際の手順について解説していきます。
Pythonのrange関数とは?

Pythonのrange関数は連続する数のリストを配列するための関数です。Pythonでは、for文と併用で活用するのが一般的かもしれません。しかしrange関数で記述すれば、自分が設定した回数分を自由にループできます。
Pythonのrange関数の書き方
Pythonにおけるrange関数の基本的な書き方は、以下の通りです。
range(start,end,step)startは開始、endは終了、stepは増加幅を指します。たとえばrange(1,9,2)というソースコードがあったとします。これは「1から9までで2ずつ増加すること」というコマンドになるわけです。つまりこのコードを記述すれば、「1,3,5,7」がリストとしてオブジェクト内に保管される形になります。
またrange(end)というソースコードを使ってコマンドを出力することも可能です。この場合、startもstepも設定されていません。デフォルトはstartが0でstepが1です。もしrange(3)と記述した場合、該当するリストは「0,1,2」となります。
for文と組み合わせて使う書き方
Pythonではfor文との併用で活用されるケースが多いと、すでに紹介しました。この両者の組み合わせによって、任意の回数ループ処理が手軽に行えるのです。ではfor文とrange関数と併用する場合のソースコードは、どのように記述すればいいのでしょうか。
基本的な記述方式として、以下のようなコードがあります。
for x in range(5):print(x)
この場合、出力は以下のようになります。
01234
endが5で、stepは1、startは0ですから、以上のように出力されるわけです。
Pythonの基礎を深めるなら講座がおすすめ
range関数自体は比較的シンプルなため、基本的な書き方であれば独学でも習得しやすいでしょう。しかし、実際にPythonを活用するためには、range関数だけでなく、変数やデータ型、条件分岐、繰り返し処理、関数などの基礎知識を組み合わせる必要があります。
そこで、Pythonを基礎から体系的に学びたい方におすすめなのが、GETT Proskillの「Python基礎セミナー講座」です。Pythonの基本的なプログラムやデータ処理から学習できるため、range関数を勉強して「もっとPythonを使えるようになりたい」と感じた方の次のステップとして活用できます。
さらに、講座ではPythonの基礎だけでなく、WebスクレイピングやExcel処理の自動化、データ分析、画像処理、機械学習など、実務につながる内容まで学べます。単にrange関数の書き方を覚えるだけではなく、Pythonを実際の業務やデータ処理で活用できるレベルまでスキルを広げたい方に向いているでしょう。
range関数を理解したものの、「その次に何を学べばよいか分からない」「独学では実践的なプログラムまで作れない」という方は、Pythonの基礎をまとめて学べるセミナーを活用するのも一つの方法です。
セミナー名 Python基礎セミナー講習 運営元 GETT Proskill(ゲット プロスキル) 価格(税込) 29,700円〜 受講期間 2日間 受講形式 対面(東京・名古屋・大阪)・ライブウェビナー・eラーニング
Pythonでrange関数を使用する際の注意点
Pythonにおけるrange関数は非常に使いやすい関数といえます。しかし、range関数を使用するにあたって、注意すべきポイントがいくつかあります。もし誤った使い方をすると、思うように出力されない恐れがあるので注意しましょう。
小数の設定は不可
range関数の中では、小数の設定はできません。たとえばrange(0.1,1.0,0.5)のようなソースコードを記述しても、リストは作られずエラー扱いにされてしまいます。
Python2系ではxrange関数の使用が推奨される
現在ではPython3系が主流になっていますが、いまだに過去バージョンであるPython2系を使用する場合もあるでしょう。2系を使用する際にはrange関数のほかにも、「xrange関数」も使用可能です。2系でプログラミングする際には、xrange関数を使用するのがおすすめです。
range関数も使用できますが、最初にリストを作成する必要があります。もしリストが大きければ、処理の負荷が大きくなってしまって、出力するまでに時間のかかる恐れがあるからです。xrange関数の場合、リストの追加と処理を順に行うスタイルをとっています。このため大きなリストの場合でも、かかる負荷はrange関数と比較して小さくなり、よって処理スピードも速くなるでしょう。
一方、Python3系ではxrange関数の処理をrange関数で行えるようになりました。よって、xrange関数は削除されています。そのため、Python3系だけを使用するなら、xrange関数について学習する必要は少ないでしょう。
Pythonでのrange関数の応用的な使い方

range関数は単独やfor文と組み合わせて使用する方法のほかにも、いろいろな使い方があります。その中でもしばしば用いられる、代表的な使用例について紹介するので参考にしてください。
range関数をlist配列と共に使用する方法
range関数は、list配列と組み合わせて使用する方法がしばしば用いられます。要素を追加するにあたって、効率的に運用できるからです。
もし、list配列に特定の要素を追加したい場合には、range関数を用いると良いでしょう。たとえば、list関数で1~10の要素を追加し、のちに奇数要素のみを出力したいと考えたとします。この場合、以下のようなソースコードを入力してください。
list_tmp = list(range(1,11))list_tmp2 = list(range(1,11,2))print(list_tmp)print(list_tmp2)
このようにソースコードを作成すれば、以下のような実行結果が表示されるはずです。
[1,2,3,4,5,6,7,8,9,10][1,3,5,7,9]
list_tmp配列には1~10の整数が、list_tmp2配列に1~10の範囲内で奇数が要素として追加されたわけです。もしrange関数を使わなければ、list配列に1つずつ要素を指定していかないと追加されません。しかし、このように2行分のソースコードで簡単に追加が可能です。かなりの作業時間の短縮を期待できるでしょう。
ここまで紹介した方法は、順番通りにlist配列に整数をアップする方法について紹介しました。それだけでなくrange関数でコード生成すれば、逆順で要素をlist配列への追加も可能です。
やり方はシンプルです。startとendの順番を逆にして、stepを減らす方向で設定すれば良いでしょう。先ほどと同じように1~10の要素を逆順でlist配列に追加する場合のソースコードは、以下のようになります。
list_tmp = list(range(10,0,-1))print(list_tmp)
このように設定すれば、出力結果は[10,9,8,7,6,5,4,3,2,1]となります。stepの設定を1つずつ減らすという意味で「-1」と入力してください。
range関数で小数を記述する方法
range関数では、小数は入力できないとすでに紹介しました。しかし、数値計算とfor文などと併用すれば、小数を使用することも可能です。range関数で小数を適用する場合、数値計算でいったん小数点に変換する必要があります。
たとえば、rangeの値に0.1をかけて10までの配列に要素を追加したかった場合を仮定しましょう。この場合、以下のようなソースコードで対処します。
tmp=[]for x in range(10):tmp.append(x*0.1)print(tmp)
最初の行は、空のlist配列を規定したという意味です。このようなソースコードを記述すると、出力結果は以下のようになります。
[0.0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6000000000000001, 0.7000000000000001, 0.8, 0.9]このように小数点がlist配列に追加されていることが確認できました。しかし上の数列でも分かる通り、ただ単に0.1を乗算してしまうとずれが発生する可能性があります。確実に出力したければ、関連するライブラリをインポートすると良いでしょう。
range関数でシーケンスを生成する
range関数を利用すれば、指定された範囲でシーケンスを生成して、データ構造を変換することも可能です。1~5の数を奇数のみの要素によって構成されるシーケンスを生成するための、ソースコードの記述方法は以下の通りです。
sequence = list(range(1,6,2))print(sequence)
実行すると、[1,3,5]と出力されるはずです。シーケンスを生成してリスト変換することで、さらに追加の作業でシーケンスの要素をアクセスしたり、リスト操作したりできるようになるでしょう。
Pythonのrange関数についてまとめ
Pythonを使いこなすためには、range関数をマスターしておくと良いでしょう。こちらの関数を活用することで、コーディングの作業効率が大幅にアップすることが期待できます。しかも、range関数を用いたコードの作成方法も比較的シンプルです。
range関数のことがまだよくわからないのであれば、ここで紹介した方法を参考にして、実際に手を動かしてマスターしましょう。






