[Python]1から始まる数列を増分と飛ばしで制御する range関数

Pythonのrange関数とは

Pythonのrange関数は、指定した範囲の整数のリストを生成する関数です。range関数は様々な方法で使われますが、最も一般的な方法はforループの制御に使うことです。

range関数の基本的な使い方

range関数の基本的な構文は以下の通りです。

range(start, stop, step)

ここで、

  • start:数列の開始位置を指定します。デフォルト値は0です。
  • stop:数列の終了位置を指定します。必ず指定する必要があります。
  • step:数列の増分を指定します。デフォルト値は1です。

例えば、次のようにrange関数を使って1から5までの整数のリストを生成することができます。

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

上記のコードを実行すると、次のように出力されます。

1
2
3
4
5

1から始まる数列を生成する方法

range関数を使って1から始まる数列を生成する場合、startに1を指定するだけです。

numbers = range(1, 11)
for number in numbers:
    print(number)

上記のコードを実行すると、次のように出力されます。

1
2
3
4
5
6
7
8
9
10

range関数で増分を制御する方法

range関数で増分を制御する場合、stepに指定した値が増分となります。

numbers = range(1, 11, 2)
for number in numbers:
    print(number)

上記のコードを実行すると、次のように出力されます。

1
3
5
7
9

range関数で数列を飛ばす方法

range関数で数列を飛ばす場合、startに指定した値をスキップします。

numbers = range(1, 11)
for number in numbers[::2]:
    print(number)

上記のコードを実行すると、次のように出力されます。

1
3
5
7
9

実践的なrange関数の使い方例

range関数は、forループの制御以外にも様々な場面で使われます。以下はその一例です。

リストのインデックスを取得する

以下は、リストのインデックスを取得する例です。

fruits = ['apple', 'banana', 'orange']
for i in range(len(fruits)):
    print(i, fruits[i])

上記のコードを実行すると、次のように出力されます。

0 apple
1 banana
2 orange

繰り返し回数を指定する

以下は、指定した回数だけ繰り返し処理をする例です。

for i in range(5):
    print(i)

上記のコードを実行すると、次のように出力されます。

0
1
2
3
4

whileループの代替として使う

以下は、whileループの代替としてrange関数を使った例です。

i = 0
while i < 5:
    print(i)
    i += 1

上記のコードをrange関数を使って書き換えると、次のようになります。

for i in range(5):
    print(i)

まとめ

今回は、Pythonのrange関数について解説しました。range関数は、forループの制御以外にも様々な場面で使われる便利な関数です。ぜひ、今回の解説を参考にして、Pythonのプログラミングに活用してください。