Pythonのrangeでループ処理を書く方法

Pythonのrangeでループ処理を書く方法

Pythonのrange関数は、数値のシーケンスを生成するために使用され、ループ処理を行う際に非常に便利です。
range関数を用いたループ処理の基本的な使い方について説明します。

まず、range関数の基本的な使い方を確認します。
range関数は、以下の三つの引数を取ることができます。

1. start:
シーケンスの開始値を指定します。
デフォルトは0です。
2. stop:
シーケンスの終了値を指定します。
ただし、終了値は含まれません。
3. step:
シーケンスの増分を指定します。
デフォルトは1です。

基本的な構文

range(stop)
range(start, stop)
range(start, stop, step)

基本的な使用例

1. 単純なループ

rangeを使って0から4までの整数を順に出力する場合の例です。

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

このコードは、range(5)が0から4までの整数を生成し、それぞれの整数がiに代入されてprint(i)が呼ばれます。
結果は0から4までの数字が出力されます。

2. 開始値と終了値を指定する

例えば、2から5までの整数を出力する場合は次のように書きます。

for i in range(2, 6):
  print(i)

ここではrange(2, 6)が2から5までの整数を生成します。
終了値6は含まれません。

3. ステップを指定する

ステップを指定することで、増分を変更することができます。
たとえば、0から10までの偶数を出力する場合は次のように書きます。

for i in range(0, 11, 2):
  print(i)

この場合、range(0, 11, 2)は0から10までの偶数を生成します。

負のステップ

range関数は、負のステップもサポートしています。
逆方向にループ処理を行いたい場合に有用です。
例えば、10から1までの整数を逆順に出力する場合は次のように書きます。

for i in range(10, 0, -1):
  print(i)

ここでは、range(10, 0, -1)が10から1までの整数を生成します。
終了値0は含まれません。

rangeの結果をリストとして表示する

range関数はイテラブルオブジェクトを返すため、リストとして結果を確認したい場合はlist関数を使用します。

print(list(range(5)))       # [0, 1, 2, 3, 4]
print(list(range(2, 6)))    # [2, 3, 4, 5]
print(list(range(0, 11, 2)))# [0, 2, 4, 6, 8, 10]
print(list(range(10, 0, -1))) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

応用例

ループ処理において、range関数を用いることで、複雑な処理を簡潔に記述することが可能です。
たとえば、特定の条件に基づいて繰り返し処理を行う場合などに利用されます。
例えば、リスト内のインデックスを利用して要素にアクセスする場合には、range関数とlen関数を組み合わせることがあります。

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

for i in range(len(items)):
  print(f'Index {i} has item {items[i]}')

このコードは、itemsリストの各インデックスに対して、そのインデックスと対応する要素を出力します。

以上が、Pythonのrange関数を用いたループ処理の基本的な方法です。
range関数は非常に強力なツールであり、さまざまな状況でのループ処理を簡潔に記述するのに役立ちます。