Python forループ

PythonのForループ

Forループはシーケンス(リスト、タプル、辞書、セット、または文字列)を繰り返し処理するために使用されます。

これは他のプログラミング言語のforキーワードとは異なり、他のオブジェクト指向プログラミング言語で見られるイテレーターメソッドのように機能します。

Forループを使うと、リスト、タプル、セットなどの各要素に対して一連のステートメントを実行することができます。

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)

Forループでは、事前にインデックス変数を設定する必要はありません。

文字列のイテレーション

文字列もイテラブルオブジェクトであり、文字のシーケンスを含んでいます。

for x in "banana":
  print(x)

break文

break文を使うと、全ての要素をループする前にループを終了することができます。

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
  if x == "banana":
    break

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x)

continue文

continue文を使うと、現在のイテレーションを停止し、次のイテレーションに進むことができます。

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)

range()関数

指定された回数だけコードをループするために、range()関数を使用することができます。

range()関数はデフォルトで0から始まり、デフォルトで1ずつ増加し、指定された数で終了します。

for x in range(6):
  print(x)

注意:range(6)は0から6ではなく、0から5までの値を返します。

range()関数はデフォルトで0から始まりますが、開始値を指定することも可能です。たとえばパラメータを追加してrange(2, 6)とすると、2から6(6は含まれません)までの値を返します。

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

range()関数はデフォルトでシーケンスを1ずつ増加させますが、増加値を指定することも可能です。たとえば第3パラメータを追加してrange(2, 30, 3)とすると、2から30までの値を3ずつ増加させます。

for x in range(2, 30, 3):
  print(x)

Forループのelse文

Forループのelseキーワードは、ループが終了したときに実行するブロックのコードを指定します。

for x in range(6):
  print(x)
else:
  print("Finally finished!")

注意:ループがbreak文によって中断された場合、elseブロックは実行されません。

for x in range(6):
  if x == 3: break
  print(x)
else:
  print("Finally finished!")

ネストされたループ

ネストされたループは、ループの中に別のループがある構造です。

「内側のループ」は、「外側のループ」の各反復ごとに1回実行されます。

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)

pass文

forループには空にすることはできませんが、何らかの理由で中身のないforループがある場合は、エラーを避けるためにpass文を入れてください。

for x in [0, 1, 2]:
  pass