Python forループ
Python forループ
forループは、シーケンス(リスト、タプル、ディクショナリ、セット、または文字列のいずれか)を反復処理するために使用されます。
これは、他のプログラミング言語のforキーワードとは異なり、他のオブジェクト指向プログラミング言語に見られる反復子メソッドのように機能します。
forループを使用すると、一連のステートメントを、リスト、タプル、セットなどの項目ごとに1回実行できます。
forループでは、事前にインデックス変数を設定する必要はありません。
文字列のループ
文字列も反復可能なオブジェクトであり、一連の文字が含まれています。
breakステートメント
breakステートメントを使用すると、すべての項目をループする前にループを停止できます。
例
x が「バナナ」の場合、ループを終了します
fruits = ["りんご", "バナナ", "さくらんぼ"]
for x in fruits:
print(x)
if x == "バナナ":
break
例
次の場合にループを終了します。xは「バナナ」ですが、今回は出力の前にブレークがあります。
fruits = ["りんご", "バナナ", "さくらんぼ"]
for x in fruits:
if x == "バナナ":
break
print(x)
continueステートメント
continueステートメントを使用すると、ループの現在の繰り返しを停止し、次の繰り返しに進むことができます。
例
バナナを出力しない
fruits = ["りんご", "バナナ", "さくらんぼ"]
for x in fruits:
if x == "バナナ":
continue
print(x)
range()関数
range()
range()関数は、デフォルトで0から始まり、1ずつ増加し(デフォルトで)、指定された番号で終了する一連の数値を返します。
range(6)は0~6の値ではなく、0~5の値であることに注意してください。
range()関数はデフォルトで開始値として0に設定されますが、パラメータrange(2, 6)を追加することで開始値を指定することができます。これは2~6(ただし6は含まない)の値を意味します。
range()関数はデフォルトでシーケンスを1ずつ増やしますが、3番目のパラメーターrange(2, 30, 3)を追加して増分値を指定することもできます。
ForループのElse
forループ内のelseキーワードは、ループの終了時に実行されるコードのブロックを指定します。
例
0から5までのすべての数字を出力し、ループが終了したときにメッセージを出力します。
for x in range(6):
print(x)
else:
print("ついに終わりました!")
注意:ループがbreakステートメントによって停止された場合、elseブロックは実行されません。
例
xが3のときにループを中断し、elseブロックで何が起こるかを確認します。
for x in range(6):
if x == 3: break
print(x)
else:
print("ついに終わりました!")
ネストされたループ
ネストされたループは、ループ内のループです。
「内側のループ」は、「外側のループ」の反復ごとに1回実行されます。
例
すべての果物の形容詞を出力する
adj = ["赤い", "大きい", "美味しい"]
fruits = ["りんご", "バナナ", "さくらんぼ"]
for x in adj:
for y in fruits:
print(x, y)
passステートメント
forループを空にすることはできませんが、何らかの理由で内容のない forループがある場合は、エラーの発生を避けるためにpassステートメントを挿入してください。