制御構造ツール(4章)
次のコードを実行したとき、出力される内容として正しいものはどれか。 numbers = [1, 2, 3] for n in numbers: if n == 2: numbers.append(4) print(n)
- A1 2 3 のみ出力される
- ✓1 2 3 4 が出力される
- C無限ループになり終了しない
- DRuntimeErrorが発生する
解説
for文はリストの要素をインデックスで順に取り出すため、ループ中にリストへ要素を追加すると、追加された要素もその後の反復対象に含まれてしまう。n=2のときappend(4)されるため、最終的に1,2,3,4の順で出力される。
根拠Pythonチュートリアル4章 for文(コレクションをイテレート中に変更することに関する注意)