Python | range文を使った回数指定の反復(ループ)処理

Python, Python ループ

Pythonでrange文を使った回数指定の反復処理

Pythonのrange文を使って主に、回数の決まった反復(ループ)処理を実装する方法のまとめです。

Pythonでのrange文の基本形

Pythonでのrange文の基本形になります。

for i in range(反復回数):
    # 処理部分

第二引数、第三引数の指定オプションあり。

for i in range(始値, 終値, ステップ値):
    # 処理部分

Pythonで使うrange文のポイント

  • 例のごとくiは0から始まるので5回だと4までになる
  • 第二引数にはrange(3,5)の様に範囲を指定できる
  • 範囲指定は同数で0回、(3,5)とした場合にiに入るのは3と4の2回
  • 反復範囲を指定した場合、iに入る数値も変化する
  • 第三引数にはステップ値を設定できるrange(2,10,2)など
  • ステップ値はiに反復処理毎に加算される数値
  • その反復での処理を抜ける場合はインデントありで「continue」
  • 完全に処理を抜ける場合はインデントありで「break」

簡単なrange文のサンプルコード

動作チェック用の一番シンプルなrange文のサンプルテストコードです。

range文で回数のみを指定した場合

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

# 0
# 1
# 2
# 3
# 4

range文で反復範囲を指定した場合

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

# 3
# 4

range文でステップを指定した場合

for i in range(  0, 15, 3):
    print(i)

# 0
# 3
# 6
# 9
# 12

range文でcontinueを使ったサンプルコード

range文でcontinueを使ってその反復を終わらせて次の反復処理を開始するサンプルコードになります。

for i in range(10):
    if i <= 4:
        continue
    print(i)

# 5
# 6
# 7
# 8
# 9

途中でiが5未満の場合にcontinueでそれ以降の処理をパスしているので、5以降しかprint()は読まれていません。

range文からbreakで処理を抜けるサンプルコード

range文内の処理をbreakを使って抜けるサンプルコードになります。

for i in range(10):
    print(i)
    if i >= 5:
        break

# 0
# 1
# 2
# 3
# 4
# 5

途中でiが5以上の場合にbreakで処理抜けしているので、6以降は反復していません。

continueやbreakの代わりにpassを記述した場合の挙動

continueやbreakの代わりにpassを記述した場合の挙動をふと気になったのでメモ。

for i in range(10):
    if i <= 4:
        pass
    print(i)

# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

pass以降の処理も読み込まれました。

Python, Python ループ

Posted by Yousuke.U