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