for-in【for ループ】3.11
while【while ループ】
break【ループ終了】・continue【ループ継続】
for-in【for ループ】3.11
メモ 構文 例
メモ
- for ループ
- break【ループ終了】で終了時は、ループ終了時処理は未実行
- リスト等のインデックスを取得する場合、組み込み関数の enumerate() を使用
- 関連
- 外部リンク
構文
for target_list in starred_list : ループ中処理1 (1行)
ループ中処理2 (複数行可)
[else: ループ終了時処理1 (1行)
ループ終了時処理2 (複数行可) ]
target_list代入結果 (starred_listの各要素) 〔 代入文 (=) 参照 〕
starred_listイテラブルオブジェクトとして評価 (*付き要素可で展開3.11)
ループ中処理n (どちらか1つを指定)ループ中に実行する処理
ループ終了時処理n (どちらか1つを指定)ループ終了時に実行する処理
例
lst = ["One", "Two", "Three"]
for s in lst:
print(s)
# 出力:
# One
# Two
# Three
for i in 1, 3, 5:
print(i)
# 出力:
# 1
# 3
# 5
lst1 = ["list-1-A", "list-1-B", "list-1-C"]
lst2 = ["list-2-A", "list-2-B", "list-2-C"]
for s in *lst1, *lst2: # [Python 3.11]
print(s)
# 出力:
# list-1-A
# list-1-B
# list-1-C
# list-2-A
# list-2-B
# list-2-C
tpl1 = ("tuple-1-A", "tuple-1-B", "tuple-1-C")
tpl2 = ("tuple-2-A", "tuple-2-B", "tuple-2-C")
for s in *tpl1, *tpl2: # [Python 3.11]
print(s)
# 出力:
# tuple-1-A
# tuple-1-B
# tuple-1-C
# tuple-2-A
# tuple-2-B
# tuple-2-C
for i in range(5):
print(i)
else:
print("ELSE")
# 出力:
# 0
# 1
# 2
# 3
# 4
# ELSE
for i in range(10):
if i < 7:
continue
print(i)
else:
print("ELSE")
# 出力:
# 7
# 8
# 9
# ELSE
for i in range(10):
if i < 3:
continue
if i > 6:
print("BREAK")
break
print(i)
else:
print("ELSE") # 未実行
# 出力:
# 3
# 4
# 5
# 6
# BREAK
lst = [
(1, 2, 3),
(4, 5, 6),
(7, 8, 9),
]
for x, y, z in lst:
print(x, y, z)
# 出力:
# 1 2 3
# 4 5 6
# 7 8 9
lst = ["ONE", "TWO", "THREE"]
for index, s in enumerate(lst, 1):
print(index, s)
# 出力:
# 1 ONE
# 2 TWO
# 3 THREE
while【while ループ】
メモ ( 無限ループ ) 構文 例
メモ
- while ループ
- 無限ループ:while True:
- do-while は未実装
- 関連
- 外部リンク
構文
while 条件式 : ループ中処理1 (1行)
ループ中処理2 (複数行可)
[else: ループ終了時処理1 (1行)
ループ終了時処理2 (複数行可)]
条件式真の間ループ
ループ中処理n (どちらか1つを指定)ループ中に実行する処理
ループ終了時処理n (どちらか1つを指定)ループ終了時に実行する処理 (break【ループ終了】で終了時は未実行)
例
i = 0
while i < 5:
print(i)
i += 1
else:
print("else")
# 出力:
# 0
# 1
# 2
# 3
# 4
# else
i = 0
while i < 10:
if i < 7:
i += 1
continue
print(i)
i += 1
else:
print("else")
# 出力:
# 7
# 8
# 9
# else
i = 0
while i < 10:
if i < 3:
i += 1
continue
if i > 6:
print("break")
break
print(i)
i += 1
else:
print("else") # 未実行
# 出力:
# 3
# 4
# 5
# 6
# break
break【ループ終了】
continue【ループ継続】
メモ 構文 例
メモ
- ループ処理 (for-in【for ループ】・while【while ループ】) を終了・継続
- break【ループ終了】:処理中のループを終了
else: の処理はスキップ
値を保持 - continue【ループ継続】:ループ内の以降の処理をスキップし、ループ継続
- ラベルでの入れ子ループの終了は未実装
- break【ループ終了】:処理中のループを終了
- 外部リンク
構文
break
continue
例
for i in range(10):
if i < 7:
continue
print(i)
else:
print("else")
# 出力:
# 7
# 8
# 9
# else
for i in range(10):
if i < 3:
continue
if i > 6:
print("break")
break
print(i)
else:
print("else") # 未実行
# 出力:
# 3
# 4
# 5
# 6
# break
i = 0
while i < 10:
if i < 7:
i += 1
continue
print(i)
i += 1
else:
print("else")
# 出力:
# 7
# 8
# 9
# else
i = 0
while i < 10:
if i < 3:
i += 1
continue
if i > 6:
print("break")
break
print(i)
i += 1
else:
print("else") # 未実行
# 出力:
# 3
# 4
# 5
# 6
# break