Code Fix

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

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

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

 1  counts = {"x": 3, "y": 0, "z": 1}
 2  for key in _______________:
                      ^
 3      if counts[key] == 0:
 4          del counts[key]
 5  print(counts)
Traceback (most recent call last): File "main.py", line 2, in <module> for key in counts: ^^^^^^ RuntimeError: dictionary changed size during iteration

空欄を埋めて実行を通す

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

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

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

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

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