コンテンツにスキップ

Pythonのチュートリアル:逆順でPythonのrange関数を使う方法

[

Python range(): 数値の範囲を表す

Pythonのrangeは、整数の範囲を表すオブジェクトです。通常、数値は連続していますが、間隔を指定することもできます。range()を1つ、2つ、または3つの引数で呼び出すことで、範囲を作成することができます。

list(range(5))
[0, 1, 2, 3, 4]
list(range(1, 7))
[1, 2, 3, 4, 5, 6]
list(range(1, 20, 2))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

それぞれの例では、list()を使用して、範囲内の個々の要素を明示的にリスト化しています。

このチュートリアルでは、次のようなことを学びます:

  • 連続する整数からなる範囲を表すrangeオブジェクトを作成する方法
  • 一定のステップで間隔をもった範囲を表現する方法
  • 自分のケースにrangeが適切な解決策かどうかを判断する方法
  • ループではなく、一般的にrangeを避ける方法

rangeは時には強力なツールであるかもしれません。しかし、このチュートリアルでは、いくつかの状況においてより良い代替手段も探っていきます。

数値の範囲を作成する

Pythonでは、range()は「ビルトイン」です。つまり、準備をせずにいつでもrange()を呼び出すことができます。range()を呼び出すと、使用可能な範囲オブジェクトが作成されます。

range()には、1つ、2つ、または3つの整数引数を指定することができます。これは、3つの異なる使用例に対応します。

  1. 0から数える範囲
  2. 連続する数値の範囲
  3. 数値をスキップする範囲

これらを次に見ていきましょう。

0から数える範囲

1つの引数を使用してrange()を呼び出すと、0から始まり指定した数値の手前まで数える範囲が作成されます。

range(5)
range(0, 5)

ここでは0から5までの範囲が作成されました。範囲内の個々の要素を見るには、list()を使用して範囲をリストに変換します。

list(range(5))
[0, 1, 2, 3, 4]

連続する数値の範囲

2つの引数を使用してrange()を呼び出すと、連続する数値の範囲が作成されます。最初の引数が範囲の始まりで、2番目の引数が終わり(終わりの1つ手前)を示します。

range(1, 7)
range(1, 7)

ここで、1から6までの範囲が作成されました。範囲内の個々の要素を見るには、list()を使用して範囲をリストに変換します。

list(range(1, 7))
[1, 2, 3, 4, 5, 6]

数値をスキップする範囲

3つの引数を使用してrange()を呼び出すと、指定した数値の範囲を作成する際にステップ(数値の間隔)を指定することができます。

range(1, 20, 2)
range(1, 20, 2)

ここで、1から19までの範囲を作成し、2つずつ数値が飛び越えるようにしました。範囲内の個々の要素を見るには、list()を使用して範囲をリストに変換します。

list(range(1, 20, 2))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

このように、range()を使用して様々な数値の範囲を作成することができます。詳細な説明やサンプルコードを含めて、ステップバイステップの解説を行いました。