PYTHON MEBY

Pythonで数値の範囲を指定して反復処理(range)

この記事ではPythonのrange関数について解説します。range関数は数値のシーケンスを生成し、forループなどでの反復処理に用いられます。開始値、終了値、ステップ値の指定方法、注意点などを具体例とともに説明します。

目次

range関数の基本的な使い方

range関数は、指定した範囲の数値のシーケンスを生成します。最も基本的な使い方は、終了値のみを指定する方法です。この場合、シーケンスは0から終了値-1までの整数を生成します。

for i in range(5):
    print(i)
#出力: 0 1 2 3 4

上記のコードでは、0から4までの数値が順に表示されます。

list(range(5)) #出力: [0, 1, 2, 3, 4]

range関数の戻り値はrangeオブジェクトです。このオブジェクトをlist()関数でリストに変換することができます。

開始値の指定

range関数では、開始値と終了値を指定することもできます。開始値はシーケンスの最初の値となり、終了値はシーケンスに含まれない値となります。

for i in range(2, 5):
    print(i)
#出力: 2 3 4

上記のコードでは、2から4までの数値が順に表示されます。

ステップ値の指定

range関数は、ステップ値を指定することもできます。ステップ値は、シーケンスの各要素間の差を指定します。

for i in range(0, 10, 2):
    print(i)
#出力: 0 2 4 6 8

上記のコードでは、0から10未満の数値を、2つずつ飛ばして表示します。

負のステップ値

ステップ値に負の値を指定すると、逆順に数値を生成できます。この場合、開始値は終了値より大きくなければなりません。

for i in range(5, 0, -1):
    print(i)
#出力: 5 4 3 2 1

上記のコードでは、5から1までの数値が逆順に表示されます。

range関数の応用例

range関数は、リストや配列のインデックスを指定する際に便利です。

my_list = ['a', 'b', 'c', 'd', 'e']
for i in range(len(my_list)):
    print(my_list[i])
#出力: a b c d e

上記のコードでは、リストmy_listの各要素を順番に表示しています。

リストへの変換

range関数の戻り値はrangeオブジェクトですが、list関数を使ってリストに変換することができます。

my_range = range(1, 10, 2)
my_list = list(my_range)
print(my_list) # 出力: [1, 3, 5, 7, 9]

リストに変換すると、rangeオブジェクトを直接扱うよりも、要素へのアクセスが容易になります。

注意点

range関数の使用における注意点です。

  • 終了値はシーケンスに含まれません。
  • ステップ値が0の場合、ValueErrorが発生します。
  • 開始値、終了値、ステップ値は整数でなければなりません。

関連記事