Python3 range() 関数の使い方

Python3 内置函数Python3 組み込み関数

Python3 range() 関数が返すのは反復可能オブジェクト(型はオブジェクト)であり、リスト型ではありません。そのため、printで表示してもリストは表示されません。

Python3 list() 関数はオブジェクトイテレータで、range() が返す反復可能オブジェクトをリストに変換でき、返される変数の型はリストです。

Python2 range() 関数返すのはリストです。

関数の構文

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

パラメータの説明:

  • start: カウントは start から始まります。デフォルトは 0 から始まります。たとえば range(5) は次と同等です:range(0, 5)
  • stop: カウントは stop で終了しますが、stop は含みません。例:range(0, 5) は [0, 1, 2, 3, 4] で 5 は含まれません。
  • step:ステップ幅、デフォルトは1。例:range(0, 5) は range(0, 5, 1) と同等です。

例

開始値と終了値だけを指定した場合、ステップ幅はデフォルトで 1 になります:

例

for number in range(1, 6):
    print(number)

出力結果は:

1
2
3
4
5

1 つの引数だけを指定すると、0 から始まる整数シーケンスを生成し、引数は終了値、ステップ幅はデフォルトで 1 になります:

例

for number in range(6):
    print(number)

出力結果は:

0
1
2
3
4
5

ステップ幅を指定して、毎回異なる量を増やすことができます:

例

for number in range(1, 6, 2):
    print(number)

出力結果は:

1
3
5

注意:終了値 6 は含まれません。

また、ステップ幅に負の数を使用すると、終了値から逆順にシーケンスを生成できます:

例

for number in range(6, 1, -1):
    print(number)

出力結果は:

6
5
4
3
2

注意:ステップ幅に負の数を使用する場合、開始値は終了値より大きくなければなりません。

整数シーケンスを生成するだけで、for ループでそれを走査する必要がない場合は、range() 関数の戻り値をリストまたはタプルに変換できます。例えば:

以下は整数リストを生成します:

例

>>> numbers = list(range(1, 6))
>>> numbers
[1, 2, 3, 4, 5]

以下は整数タプルを生成します:

例

>>> numbers = tuple(range(1, 6))
>>> numbers
(1, 2, 3, 4, 5)

Python3 内置函数Python3 組み込み関数

その他の拡張