Pythonで繰り返し処理を行うときに必ず登場するのがrange()
です。この記事では、基本的な使い方から応用例、さらに注意すべきポイントまでをやさしく解説します。これを読めば、for文やリスト操作でrange()
を自在に使いこなせるようになるでしょう。
range()とは?基本の役割
range()
は、指定した範囲の整数を順番に生成するための関数です。特にfor
文と組み合わせることで、繰り返し処理に役立ちます。例えばrange(5)
と書くと、0から4までの整数が順番に生成されます。つまり、for i in range(5)
とすると、iが0から4までの値を順に取りながら処理が繰り返されるわけです。
range()の基本的な使い方
引数1つの場合
引数を1つだけ渡すと、0から指定した数値の「手前」までが生成されます。
for i in range(5):
print(i) # 0,1,2,3,4
ここで重要なのは「指定した数値そのものは含まれない」という点です。この特徴を忘れると、思ったより1回少ないループになるので注意しましょう。
引数2つの場合
引数を2つ渡すと、開始値から終了値「手前」までを生成します。
for i in range(2, 6):
print(i) # 2,3,4,5
この場合も終了値は含まれません。したがって、実際にループされる範囲は「開始値以上、終了値未満」と覚えておくと理解しやすいです。
引数3つの場合(ステップ指定)
3つ目の引数では「増加幅(ステップ)」を指定できます。
for i in range(1, 10, 2):
print(i) # 1,3,5,7,9
負の値を指定すれば、逆方向のカウントダウンも可能です。この柔軟さによって、さまざまな繰り返し処理を効率的に書けます。
range()とリストの関係
range()
は直接リストを返すわけではありませんが、list()
で変換すると簡単にリスト化できます。
numbers = list(range(5))
print(numbers) # [0,1,2,3,4]
このようにすると、繰り返し処理だけでなく、データ構造として数列を保持したい場合にも活用できます。特にテストデータを作成するときに便利です。
応用テクニック
偶数や奇数のリストを作る
ステップを工夫すれば、偶数や奇数だけを抽出できます。
evens = list(range(0, 10, 2))
odds = list(range(1, 10, 2))
print(evens) # [0,2,4,6,8]
print(odds) # [1,3,5,7,9]
このように条件を絞ったシンプルな数列も容易に作成可能です。
逆順に処理する
負のステップを指定すると、逆方向にカウントダウンができます。
for i in range(5, 0, -1):
print(i) # 5,4,3,2,1
配列や文字列を逆順に処理したいときにも応用できる便利な書き方です。
よくあるエラーと注意点
初心者がrange()
でつまずきやすいのは「終了値が含まれない」点です。たとえばrange(1, 10)
では1から9までしか生成されません。また、負のステップを使う場合は開始値と終了値の関係に注意が必要です。終了値が開始値より小さくなければ、ループは1回も実行されません。さらに、Python3ではrange()
がイテレータとして動作するため、直接printしても全ての値は表示されません。リストに変換して確認する方法を覚えておくと安心です。
Python初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
range()
はPythonで繰り返し処理をする際に欠かせない便利な関数です。基本の挙動を理解し、ステップやリスト変換などの応用を押さえることで、より効率的なコードが書けるようになります。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント