Code Fix

上級RuntimeError: dictionary changed size during iteration の原因と直し方 › パターン2

RuntimeError: dictionary changed size during iteration の原因と直し方

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

 1  inventory = {"apple": 5, "banana": 0, "cherry": 2}
 2  for item in __________________:
                         ^
 3      if inventory[item] == 0:
 4          del inventory[item]
 5  print(inventory)
Traceback (most recent call last): File "main.py", line 2, in <module> for item in inventory: ^^^^^^^^^ RuntimeError: dictionary changed size during iteration

空欄を埋めて実行を通す

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

RuntimeError: dictionary changed size during iteration の原因と直し方

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

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

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