上級 › RuntimeError: dictionary changed size during iteration の原因と直し方 › パターン1
RuntimeError: dictionary changed size during iteration の原因と直し方
辞書をイテレート中にキーを追加・削除すると発生する例外です。
1 scores = {"a": 1, "b": 0, "c": 3} 2 for key in _______________: ^ 3 if scores[key] == 0: 4 del scores[key] 5 print(scores)
Traceback (most recent call last):
File "main.py", line 2, in <module>
for key in scores:
^^^^^^
RuntimeError: dictionary changed size during iteration
空欄を埋めて実行を通す
辞書はイテレート中にサイズが変わることを検出すると例外を投げます。安全に削除するには、先にキーのコピー(list())を作ってそちらをイテレートします。
次の問題