python3でrange関数を利用する

range関数の引数は整数しか指定することが出来ません。

第1引数のみ指定する

for文でrange関数に第1引数のみを設定すると、0を開始値として第1引数で指定された回数まで処理を行うことが出来ます。

for i in range(5):
    print('ループ:{}'.format(i))

ループ:0
ループ:1
ループ:2
ループ:3
ループ:4

第2引数まで指定する

第1引数(開始値)から第2引数(停止値)の1つ前の整数まで処理を続けます。

for i in range(1 , 5):
    print(f'ループ:{i}')

ループ:1
ループ:2
ループ:3
ループ:4

第3引数まで指定する

第1引数(開始値)から第2引数(停止値)の1つ前の整数まで処理を続けます。第3引数で停止値までの増分を指定します。デフォルトは1です。

for i in range(1 , 10 , 2):
    print(f'ループ:{i}')

ループ:1
ループ:3
ループ:5
ループ:7
ループ:9

range関数で生成された変数の型を調べる

r = range(100)

print(r)
print(type(r))

range(0, 100)
<class 'range'>

range型であることが分かります。

range関数で生成された変数から指定範囲を取り出す

shiracamusさんから教えていただいたように、listのスライスのように、rangeのスライスを取り出せたりします。面白いですね。

>>> r = range(100)
>>> r
range(0, 100)

>>> r[50:]
range(50, 100)

>>> r[-10:]
range(90, 100)

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.