いくつか書き方を紹介!Pythonでrange関数を使う方法【初心者向け】
初心者向けにPythonのrange関数を使う方法について解説しています。range()では、連続した数列要素が生成されたオブジェクトを作ります。いくつか書き方を説明しながらサンプルプログラムを書いているので、実際に書いてみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、Pythonでrange関数を使う方法を解説します。
いくつか書き方を説明し、実際にサンプルプログラムを書いているので、自分でも書きながら理解していきましょう。
なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。
Pythonのrange関数とは
Pythonのrange関数とは算術型の数列を作り出します。
算術型の数列とは、指定された数のオブジェクトを生成するという事です。
例えば、100個のオブジェクトを作る事も簡単です。
range( )が返すオブジェクトは、一見すると配列と同じように見えます。しかし、実際は配列ではなく、連続した数列要素が生成されたオブジェクトです。
そして、配列に比べて容量の節約になるメリットがあります。
Pythonでrangeを使う書き方
range関数にはいくつかの書き方があります。
生成数のlistを生成する書き方
range(生成数)という書き方で、range(100)と書くことで0番から99番の添字を持つ100個のオブジェクトを生成することができます。
range(生成数)
開始数から終了数までのlistを生成
range(開始数, 終了数)という書き方で、range(50, 100)と書くことで50番から99番までの添字を持つ50個のオブジェクトを生成することができます。
range(開始数, 終了数)
開始数から加算数を足した数を終了数までオブジェクトとして生成
range(開始数, 終了数, 加算数)という書き方で、range(0, 10, 2)と書くことで、0に2足した合計値の2。2に2足した合計値の4。4に2足した合計値の6。6に2足した合計値の8。8に2足した合計値の10。がオブジェクトとして生成されます。
range(開始数, 終了数, 加算数)
開始数から加算数引いた数を終了数までオブジェクトとして生成
range(開始数, 終了数, 減算数)という書き方で、range(0, -10, -2)と書くことで、0に2引いた合計値の-2。-2に2引いた合計値の-4。-4に2引いた合計値の-6。-6に-2引いた合計値の-8。-8に2引いた合計値の-10。がオブジェクトとして生成されます。
range(開始数, 終了数, 減算数)
Pythonでrangeを実際に書いてみよう
今回は、配列aの中にある値を添え字と一緒に表示するというプログラムを書いてみます。
1行目のtechacademy = [‘短期集中効率学習’, ‘オンラインプログラミング’, ‘未経験転職’]では、配列techacademyに’短期集中効率学習’, ‘オンラインプログラミング’, ‘未経験転職’という文字列を配列として代入しています。
2行目のfor i in range(len(techacademy)):では、len(techacademy)を使用して、配列techacademyの長さを取得しています。
今回の長さは3なので、 range(len(techacademy))はrange(3)という意味になります。Pythonでfor文を使う方法の記事も合わせてご覧ください。
3行目のprint(i, a[i])では、print文を使用して添字と配列の値を表示しています。Pythonでprint文を使う方法の記事も合わせてご覧ください。
rangeを使ったプログラムソースコード
techacademy = ['短期集中効率学習', 'オンラインプログラミング', '未経験転職'] for i in range(len(techacademy)): print(i, a[i])
表示結果
(0, '短期集中効率学習') (1, 'オンラインプログラミング') (2, '未経験転職')
今回は、Pythonでrange関数を使う方法を解説しました。
入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。 |
また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。
初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
独学に限界を感じている方はぜひご覧ください。