【Python】実はデータ型!?range関数の使い方とその特徴を紹介

20230925_Python プログラミング言語

Pythonではループ処理をするときよくrange関数を使いますよね.
このrange処理, 実は関数ではなくデータ型と知っていましたか?

クリックして拡大できます

今回は意外と知らないrange型について紹介します.

range型の基本形

range型はこのように定義します.

range(start, stop, step)
  • start = 初期値
  • stop = 終了処理
  • step = スキップする値

このうち start と step は省略ができます.
もしrange()の引数が1つの場合は必ずstopを意味しますね.

nums_list_1 = list(range(10))
print(nums_list_1)

nums_list_2 = list(range(1,10))
print(nums_list_2)
クリックして拡大できます

似たような引数を入れたにもかかわらずそれぞれ結果が異なりました.

上の処理はstop引数のみ,下の処理はstart引数とstop引数が入っています.

ここで抑えておきたいポイントは3点が挙げられます!

  1. start引数は省略されると0から始まること
  2. start引数の値は含まれること
  3. stop引数の値は含まれないこと

startの値は含まれ,stopの値は含まれないと覚えておきましょう!

range型の特徴

range型は2つの特徴があります.

  1. イミュータブル(変更不可)であること
  2. シーケンス(要素が順番に並び,各要素はインデックスを持つ)であること

rangeの戻り値はシーケンスであるためlist関数に入れると配列が作成できます.

クリックして拡大できます

続いて色んな引数を入れて処理結果を確認してみましょう!

stepを使うとき

stepを使うと簡単に倍数をリストとして作成できます.

nums = range(0, 31, 5)
print(list(nums))
クリックして拡大できます

引数が-(マイナス)のとき

引数がマイナスだとstartから値が小さくなります.

nums = range(-1, -11, -1)
print(list(nums))
クリックして拡大できます

まとめ

今回はrange型について紹介しました.

ループ処理で身近なrange()ですが実はデータ型とは知りませんでした.
range型で間違いやすいのはstart, stopの値を含めるのかどうかです.

  • startの値は含める
  • stopの値は含めない

このポイントを覚えておくとrange型は不自由なく使えるでしょう!