Code Fix

上級 › 辞書をイテレート中に変更した例外の原因と直し方 › パターン5

辞書をイテレート中に変更した例外の原因と直し方

辞書をイテレート中にキーを追加・削除すると発生する例外です。

 1  flags = {"debug": 0, "verbose": 1, "cache": 0}
 2  for name in ______________:
                       ^
 3      if flags[name] == 0:
 4          del flags[name]
 5  print(flags)
Traceback (most recent call last): File "main.py", line 2, in <module> for name in flags: ^^^^^ RuntimeError: dictionary changed size during iteration

空欄を埋めて実行を通す

広告
広告スロット(未設定)

辞書をイテレート中に変更した例外の原因と直し方

リストと違い、辞書はサイズの変化を検出して例外を投げます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)