• WebCampPro_インタビュー
    未経験から上京し、エンジニアとしてチームラボグループに転職!【WebCampPro卒業生インタビュー】
    2018.03.10
  • WebCamp_インタビュー
    「1カ月頑張ればこの先が見えてくる」地元メディアを立ち上げたママさん
    2017.07.20
  • WebCamp_インタビュー
    【卒業生インタビュー】台湾で月間100万UUの訪日旅行メディアを手掛けるCEOが、プログラミングを学んで得たものとは?
    2018.01.15
  • WebCamp_インタビュー
    時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
    2018.01.26
  • WebCamp_インタビュー
    【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
    2018.01.15
  • WebCamp_インタビュー
    「自信の持てるスキルを得たい!」内定辞退した女子大生がプログラミングを学習したワケ。
    2018.04.28
  • WebCampPro_インタビュー
    未経験31歳からエンジニア転職を実現【実際に聞いてみた】
    2017.04.01
  • WebCampPro_インタビュー
    自分で稼ぐ力をつけるため、新卒5年目の営業マンがエンジニアに転職!【WebCampPro転職者インタビュー】
    2018.02.02
  • WebCamp_インタビュー
    “未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
    2017.10.04
  • WebCamp_インタビュー
    【WebCamp受講生インタビュー】起業準備中にCEOが気がついたプログラミングスキルの重要性とは?
    2017.12.25
  • WebCampPro_インタビュー
    未経験でも寿司職人からWebデザイナーになった!ホスピタリティでスクールを支える宮脇トレーナー
    2017.05.26

◆当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

Web Camp【マンツーマンサポート】1ヶ月短期集中でプログラミングを学ぶスクール
1ヶ月通い放題・メンター常駐の教室環境でWebサービス等作りたい方
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
Tech Camp教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
WebCampPro転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアを3ヶ月で目指すプログラミングスクールです。

11月11日、18日開催決定!2日間で人工知能(AI)を学習するPythonコースが開講

今回、当社(WebCamp)では、現役フリーランス・エンジニアとしてPythonの最前線で活動している講師をお招きし、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基礎プログラミング能力を身につけたい方機械学習やAIに興味はあるが学習できていない方現役Pythonエンジニアからリアルな話を聞きたい方
上記にあてはまる方は、ぜひご参加ください!

今回はループ処理を効率的に行えるrangeについての解説記事となります。
プログラミングを学習しているとどの言語でもループ処理を行うものがあります。

Pythonにもfor文とwhile文があり、プログラマーになる上で非常に重要な知識の1つです。

そこで今回はfor文とセットで使うことで、ループ処理を効率よく行えるrangeについて解説していきます。

rangeの基本的な使い方

rangeの基本的な使い方から解説をしていきます。

rangeは連続する数値型のデータを作ることができ、主にfor文とセットで使用されます。

rangeの記述方法

rangeの基本的な記述方法は、下記になります。


range(開始,終了,増加量)

rangeの引数の内、開始と増加量については省略することが可能です。

rangeの使用例

rangeのもっともシンプルな使用例について、解説していきます。


#繰り返し回数をカウント変数

count_tmp = 1

#rangeを使用して5回処理を繰り返す。

for x in range(5):

#繰り返し回数をprint出力
    print("実行回数:" + str(count_tmp) + "回目")
    count_tmp = count_tmp + 1

#実行結果

実行回数:1回目
実行回数:2回目
実行回数:3回目
実行回数:4回目
実行回数:5回目

上記使用例では、rangeの引数に5だけにすることで、開始と増加量を省略しています。

rangeの終了を「5」にした場合は、xが「0」からfor文のループを実行する度に1ずつ増加し、5になるまで処理を繰り返します。

5になった時点でループ処理が終了する為、注意が必要です。

rangeの範囲指定

rangeで範囲を指定する場合は、開始と終了または終了のみを指定することで範囲指定することが出来ます。

開始と終了の引数を指定した場合の使用例は、下記になります。


#range引数を開始5、終了11にした場合の使用例

for x in range(5,11):

    print("現在のrange : " + str(x))

#実行結果

現在のrange : 5
現在のrange : 6
現在のrange : 7
現在のrange : 8
現在のrange : 9
現在のrange : 10

実行結果からもわかるように、仕様上、rangeの終了値の1つ前までしかfor文が実行されない為、注意が必要です。

使用例のように10まで実行したい場合は、11のように+1した数値値を終了値に設定する必要があります。

rangeのstep指定

rangeのstepを指定することで、増加量を設定することが出来ます。

setpを指定することで、偶数回だけまたは奇数回だけ実行することが可能です。

stepを指定する使用例は、下記になります。


#rangeの開始を1、終了を20、stepを2

for x in range(1,20,2)

    print("現在のrange : " + str(x))

#実行結果

現在のrange : 1
現在のrange : 3
現在のrange : 5
現在のrange : 7
現在のrange : 9
現在のrange : 11
現在のrange : 13
現在のrange : 15
現在のrange : 17
現在のrange : 19

実行結果の出力内容から1~20までの奇数だけを取り出されています。

開始値と終了値、増加値を設定することで、目的に合わせて効率よく使用することができます。

Python2系のxrangeについて

ここまででご解説したrangeはPython3系で使用する物になります。

Python2系でrangeを使用する場合は、xrangeを使用します。

xrangeの記述方法

Python2系でxrangeを使用する基本的な記述方法は、下記になります。


xrange(開始,終了,増加量)

rangeと基本的には、同じ記述方法で使用することができます。

 

xrangeの使用例

xrangeの具体的な使用例は、下記になります。


#rangeを使用して5回処理を繰り返す。

for x in xrange(1,6):

#繰り返し回数をprint出力
    print("xrange実行:" + str(x) + "回目")

#実行結果

xrange実行:1回目
xrange実行:2回目
xrange実行:3回目
xrange実行:4回目
xrange実行:5回目

xrangeでも、rangeの解説例と同じ実行結果になります。

実行する環境に合わせて使い分けるように注意しておけば基本的には問題ありません。

listを利用した方法

冒頭で解説しましたが、rangeはfor文やwhile文のループ処理以外にもlist配列と合わせて使用することでも、効率よく要素を追加することができます。

rangeを使用してlist配列を使用する使用例について、ご紹介していきます。

 

1から順番にlistへ追加する使用例

list配列にrangeを使用して要素を追加する使用例について、ご紹介します。

使用例は、下記になります。


#list関数を使用して1~10の要素を追加

list_tmp = list(range(1,11))

#list関数を使用して1~10の奇数要素のみを追加

list_tmp2 = list(range(1,11,2))

#printで要素内容を確認

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では、奇数だけを要素に追加することが出来ています。

rangeを使わない場合は、1つずつの要素を指定してlist配列に追加しないといけませんが、rangeを使用できれば簡単に効率化可能となります。

逆順からlistへ追加する使用例

rangeを使用してlist配列に要素を追加することが出来ることは、上記で解説しましたが、stepを指定することで逆順で要素を追加することも出来ます。

逆順からlistへ要素を追加する使用例は、下記になります。


#list関数を使用して1~10の要素を逆順に追加

list_tmp = list(range(10,0,-1))

#print出力で要素内容を確認

print(list_tmp)

#実行結果

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

rangeのstepを-1に指定することで、逆順にlist配列へ要素を追加することが出来ます。

rangeで小数点を利用する方法

range自体は、標準では小数点を使用することはできません。

しかし数値計算とfor文などを活用することで、実現することが可能です。

rangeを活用して小数点を利用する方法について、解説していきます。

小数点を利用した記述方法

rangeで小数点を利用する場合には、下記のように数値計算で小数点に変換する必要があります。

下記記述方法は、list配列をrangeで使用する場合の基本的な記述方法です。


list配列の宣言

for x in range(range引数):
    list配列.append(x * 0.1)

小数点を単純に出力したい場合は、list配列を準備しないでそのままprint出力することも可能です。

この記述方法については、rangeで小数点を使用する場合の一例だと認識して頂ければ幸いです。

小数点を利用した使用例

それでは具体的な小数点の使用例について、下記になります。

#空のlist配列を宣言
tmp = []
#rangeを使用してfor文でループ処理
for x in range(10):
    #rangeの値に0.1を乗算して配列に要素を追加
    tmp.append(x * 0.1)
#print出力で配列内容を確認
print(tmp)

#実行結果

[0.0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6000000000000001, 0.7000000000000001, 0.8, 0.9]

実行結果から小数点に変換してlist配列に追加されていることがわかります。

ただし注意しなければいけない点は、小数点を扱う場合は、そのまま0.1を乗算してしまうとズレが発生してしまい上記の様な実行結果になってしまいます。

正常に出力する場合は、別途ライブラリなどをインポートして使用する必要があります。

まとめ

今回はPythonのrangeについて、解説をしてきましたが、いかがでしたか。

rangeは他のプログラミング言語全てに準備されている物ではありません。

rangeを使用しなくてもシステムを開発することは可能です。

しかしrangeはPythonではシンプルかつ効率の良いプログラミングが出来る特徴が出ている部分の1つになります。

今回の解説でもあるように、rangeを使用するのとしないのでは、コーディングの効率に大きな差があります。

是非今回の内容を参考にして頂き、rangeの特性や使用方法を習得して頂ければと思います。

WebCamp・WebCamp Proについて

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。WebCamp Proは3ヶ月間で未経験から即戦力エンジニアを育成するプログラミングスクールです。

2つのサービスを運営するインフラトップでは、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

11月11日、18日開催決定!2日間で人工知能(AI)を学習するPythonコースが開講

今回、当社(WebCamp)では、現役フリーランス・エンジニアとしてPythonの最前線で活動している講師をお招きし、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基礎プログラミング能力を身につけたい方機械学習やAIに興味はあるが学習できていない方現役Pythonエンジニアからリアルな話を聞きたい方
上記にあてはまる方は、ぜひご参加ください!

11月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
10月受入枠は満員となっております。11月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWebデザイン・プログラミングを学びたい方はこちら!

▼ついに開講!オンラインでWebデザインを学びたい方はこちら!

関連キーワード
pythonの関連記事
  • 【python入門者必見!】print関数の基礎から徹底解説
  • 【python超入門】WebサイトでPython学習のすすめ
  • 【python入門者向け】おすすめPDF教材3選
  • 【python入門者向け】おすすめの学習方法
  • 【Python入門】MacでPythonをはじめるまで
  • 【python入門者必見!】1からわかるrange関数の徹底解説
おすすめの記事
キャリア
ネット社会となっている今、プログラミングはなくてはならない存在で更に、専門職になるため就職へ強い武器になるでしょう。 ただ、プログラマーとし...
キャリア
皆さんはIT業界について、どれだけご存知ですか? 10年前まではパソコンがなければ、ITに触れることが少なかったり、ITに興味がない方も多か...