Pythonのfor文とrange関数の使い方
Pythonのfor文は、リストや文字列などの繰り返し可能なオブジェクトを順番に取り出して処理を行うループ構文です。
range関数は数値の連続を生成するために使われ、for文と組み合わせることで特定の回数だけ処理を繰り返すことができます。
手順
①for文の基本構造を理解する
for文は次のような構造で記述します。
for 変数 in 繰り返し可能なオブジェクト処理
・変数は、繰り返しのたびに値を受け取るための変数名です。
・繰り返し可能なオブジェクトは、リスト・文字列・辞書・range関数などを指定します。
・処理には、繰り返し行いたい操作を記述します。
インデントが必要です。
②range関数を理解する
range関数は、特定の範囲の数値を生成します。基本的な使い方は以下の通りです。
・構文
range(開始, 終了, ステップ)
開始(省略可能)
生成される数値の開始値。
デフォルトは0。
終了
生成される数値の終了値(終了値は含まれません)。
ステップ(省略可能)
値を増加させる間隔。デフォルトは1。
Pythonプロフェッショナルプログラミング 第4版 ↓
サンプル
①基本的なfor文とrangeの使い方
for i in range(5): # 0から4まで(5未満)の数値を繰り返す
print(i)
出力
0
1
2
3
4
②開始値と終了値を指定
for i in range(2, 6): # 2から5まで(6未満)の数値を繰り返す
print(i)
出力
2
3
4
5
③ステップを指定する
for i in range(0, 10, 2): # 0から10未満の偶数を繰り返す
print(i)
出力
0
2
4
6
8
❹逆順でループする
for i in range(10, 0, -2): # 10から2まで(1未満)の数値を繰り返す
print(i)
出力
10
8
6
4
2
独習Python↓
注意点
❶終了値は含まれない
range関数の終了値は含まれないので注意してください。たとえば、range(5)は0, 1, 2, 3, 4を生成しますが、5は含まれません。
❷ステップを0にするとエラー
ステップを0にするとエラーになります:
range(0, 10, 0) # ValueError: range() arg 3 must not be zero
❸ループ内の処理に注意
ループ内の処理をインデントしないとエラーになります。
for i in range(5):
print(i) # インデントがないのでエラー
❹リスト化する場合はlist(range(...))
range関数はそのままではリストではありません。リストとして扱いたい場合は、list()で変換します。
numbers = list(range(5))
print(numbers) # [0, 1, 2, 3, 4]
スッキリわかるPython入門 (スッキリわかる入門シリーズ) ↓
応用例
❶リストの要素を使ったループ
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
出力
apple
banana
cherry
❷インデックス付きのループ
rangeと組み合わせて、リストのインデックスを使うこともできます。
fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
print(f"Index {i}: {fruits[i]}")
出力
Index 0: apple
Index 1: banana
Index 2: cherry
これでPythonのfor文とrange関数の基本的な使い方が理解できると思います。