【1分でわかるPython入門】range関数とfor文の使い方

Python

range関数とfor文を組み合わせて使用する方法について解説します。
非常に簡単なので1分間ほどで理解できます。

range関数の文法

range関数は指定した連続の数値を作成することができます。
range関数の使い方は以下の通りです。

range(start, stop[, step])

第一引数startから、第二引数stopまでの連続した数値を生成します。
また、第三引数stepを指定することでいくつ刻みの値にするかを指定できます。
返却値にはrangeオブジェクトを返します。

例を見てみましょう。
なおrangeオブジェクトは下記のような結果になります。

>>> range(1,10)
range(1, 10)

上記のままですと、内容を確認しづらいのでrangeオブジェクトをlist関数に与えて結果をわかりやすくしましょう。

>>> list(range(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1,10,2))
[1, 3, 5, 7, 9]

また、range関数では第一引数startを省略することができます。その場合、startは0が指定されます。
その場合はstepを指定できません。

range(stop)

この形式のrange関数の使用例は以下の通りです。

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

for文の文法とrange関数の組み合わせ方

for文を使うと、range関数で生成したrangeオブジェクトを順番に処理することができます。

for 変数 in rangeオブジェクト:
    処理

具体例は下記のとおりです。

>>> for tmp in range(0, 10):
...     print(tmp)
...
0
1
2
3
4
5
6
7
8
9

上記の処理の流れを詳しく解説すると

①rangeオブジェクト(0, 10)が生成される。
②rangeオブジェクトの先頭の値0がtmpに代入され、print(tmp)が実行され、0が出力される
③rangeオブジェクトの次の値1がtmpに代入され、print(tmp)が実行され、1が出力される
④rangeオブジェクトの次の値2がtmpに代入され、print(tmp)が実行され、2が出力される
…中略…
⑪rangeオブジェクトの次の値9がtmpに代入され、print(tmp)が実行され、9が出力される

という流れになっております。

タイトルとURLをコピーしました