【Python】for文をrange関数で初期値1でループする方法

Pythonプログラミングを学ぶ上で、for文とrange関数は非常に重要な要素です。

特に、繰り返し処理を行う際には欠かせません。

しかし、初心者の方にとっては、range関数の使い方や、for文で1から開始する方法が分かりづらいことがあります。

そこで、この記事ではプログラミング初心者の方に向けて、for文でrangeを1から開始する方法をわかりやすく解説します。

目次から探す

range関数で1から開始する方法

Pythonのfor文で繰り返し処理を行う際、range関数を使って繰り返しの範囲を指定することが一般的です。

しかし、デフォルトではrange関数は0から始まります。

今回は、range関数で1から開始する方法を解説します。

range関数の引数を変更する

range関数は、引数を変更することで繰り返しの開始値、終了値、ステップを指定することができます。

開始値を指定する

range関数に開始値を指定することで、1から開始することができます。

以下のサンプルコードでは、1から5までの範囲で繰り返し処理を行っています。

for i in range(1, 6):
    print(i)
1
2
3
4
5

終了値とステップを指定する

さらに、終了値とステップも指定することができます。

以下のサンプルコードでは、1から10までの範囲で、2つずつステップして繰り返し処理を行っています。

for i in range(1, 11, 2):
    print(i)
1
3
5
7
9

range関数の代替手段

range関数以外にも、1から開始する繰り返し処理を行う方法がいくつかあります。

enumerate関数を使う

enumerate関数を使うことで、リストやタプルの要素とそのインデックスを同時に取得することができます。

以下のサンプルコードでは、リストの要素とインデックスを1から開始して取得しています。

fruits = ['apple', 'banana', 'cherry']

for i, fruit in enumerate(fruits, start=1):
    print(i, fruit)
1 apple
2 banana
3 cherry

配列のインデックスは本来だと0から始まりますが、enumerate関数でインデックスと要素を別で扱うことで、わざわざi + 1のような書き方をしなくても、最初の要素を1番目のように扱えます。

だからといってこのループ内でfruits[i]とすると参照する要素が一個ずれるので気をつけましょう。

itertoolsモジュールを使う

itertoolsモジュールのcount関数を使うことで、1から開始するカウンターを作成することができます。

以下のサンプルコードでは、1から開始するカウンターを作成し、5回繰り返し処理を行っています。

import itertools

for i in itertools.count(start=1):
    if i < 6:
        print(i)
1
2
3
4
5

以上が、Pythonでrange関数を1から開始する方法とその代替手段についての解説です。

適切な方法を選択して、繰り返し処理を行いましょう。

1 2
目次から探す