range関数の使い方(開始から終了までの連続した数値を要素として持つrange型オブジェクトを作成する)

Python で用意されている組み込み関数の中の range 関数の使い方です。関数となっていますが、実際には range 型のオブジェクトを作成します。引数に指定した開始数から終了数までの連続した数値を要素として持つオブジェクトとなります。

(Last modified: )

range関数の書式と基本的な使い方

range 関数は引数に指定した開始数から終了数までの連続した数値を要素として持つ range 型のオブジェクトを作成します。 range 関数の書式は次の通りです。

range(stop)
range(start, stop[, step])

start に指定した数値から順に step に指定した数値だけ足していき、 stop に指定した数値を超えない範囲までの連続した数値を要素として持つオブジェクトを作成します。 step を省略した場合は 1 が指定されたものとみなされ start を省略した場合は 0 が指定されたものとみなされます。( stop は含まれない点に注意してください)。

range(5)
--> 0 1 2 3 4

range(0, 5)
--> 0 1 2 3 4

range(4,7)
--> 4 5 6

range(0, 5, 1)
--> 0 1 2 3 4

range(0, 10, 2)
--> 0 2 4 6 8

step に負の値を指定することで、開始から終了まで逆順に連続した数値を持つオブジェクトを作成できます。

range(10, 0, -1)
--> 10 9 8 7 6 5 4 3 2 1

range(0, -8, -2)
--> 0 -2 -4 -6

range 型のオブジェクトを print 文の引数に指定しても要素の一覧は表示されませんが、 range 型のオブジェクトから list 型のオブジェクトを作成したあとで print 文で出力すると要素の一覧を確認できます。

r = range(0, 10)
print(r)
>> range(0, 10)

print(list(r))
>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

またインデックスを指定して要素を取得することもできます。またスライスを指定すると、スライスに対応した range 型のオブジェクトを取得します。

r = range(0, 10)
print(r[0])
>> 0

print(r[5])
>> 5

print(r[3:7])
>> range(3, 7)

range 関数は連続した数値を要素として持つリストやタプルを作成するために使用されたり、 for 文を使った繰り返しを行うときに繰り返しを行う回数を指定するためなどに使用されることが多いかと思います。

サンプルコード

次のサンプルを見てください。

r = range(10)
for i in r:
    print("num : " + str(i))

>> num : 0
>> num : 1
>> num : 2
>> num : 3
>> num : 4
>> num : 5
>> num : 6
>> num : 7
>> num : 8
>> num : 9

for 文にて作成した range 型のオブジェクトから順に要素を取得して繰り返し処理を行いました。

-- --

Python の組み込み関数の一つである range 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。