【Python】range型変数の使い方

Pythonのrange型変数の使い方についてソースコード付きで解説します。

【はじめに】range型の使い方

range型とは、数列(連続した数値)を表すデータ型です。
range型のオブジェクトは、range関数を使って作成できます。

作成例

range_obj = range(0, 100, 10)

# 作成したrangeオブジェクト
print(range_obj) # range(0, 100, 10)
print(type(range_obj)) # 
range(start, end, step)
start 最初の数値(start以上)
end 最後の数値(end未満)
step 数値の間隔(ステップ幅)

例えば、上記( range(0, 100, 10) )の場合、0以上、100未満、10間隔の数列となります。
つまり[0, 10, 20, 30, … 90]となります。

【動画解説版】

【range型】引数の省略

ステップ幅が1の場合、第三引数を省略できます。

# range(0, 100, 1)と同じ
range_obj = range(0, 100)

# 作成したrangeオブジェクト
print(range_obj) # range(0, 100)

最初の値が0、ステップ幅が1の場合、第1、3引数を省略できます。

# range(0, 100, 1)と同じ
range_obj = range(100)

# 作成したrangeオブジェクト
print(range_obj) # range(0, 100)
range_obj = range(0, 100, 10)

# 作成したrangeオブジェクト
print(range_obj) # range(0, 100, 10)
print(type(range_obj)) # 

【使用例①】リストの作成

range型の主な使用例の1つにリストの作成があります。
次のようにrange型の数列をlist関数でlist型に変換することで、一定間隔のリストを簡単に作成できます。

range_obj = range(0, 100, 10)

# range型をlist型に変換
list_obj = list(range_obj)

print(list_obj) # [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

【使用例②】forループ

range型の主な使用例の1つにforループの繰り返し回数の作成があります。

range_obj = range(0, 4)

for x in range_obj:
    print(x)# xを表示

print("End")

"""
実行結果
0
1
2
3
End
"""

for文では、オブジェクトから全要素を順に1つずつ変数に代入して処理を繰り返します。
上記の場合だと、数列(range_obj)の値が最初から順に変数(x)に代入されていきます。

関連記事
1 【Python】for文の使い方まとめ(繰り返し処理・反復)
2 【Python入門】使い方とサンプル集

コメント

  1. タッキー より:

    ハマりました

    forループの命令は : で終わるのですね。

    for x in range_obj としてエラーになる理由が分かりませんでした。
    サンプルをコピーして : がある事に気が付きました。
    少しずつ勉強していきます。

    • 管理人 より:

      私も同じところではまった記憶があります。
      写経したほうがいいという意見もありますが、
      サンプルコードをコピーしてから少しずつ弄って覚えていくほうが私はおすすめですね。