上級 › 辞書をイテレート中に変更した例外の原因と直し方 › パターン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
空欄を埋めて実行を通す
オフになっているフラグを削除する処理でも同様です。辞書は自身のサイズ変化を検出して例外を投げます。
次の問題