読者です 読者をやめる 読者になる 読者になる

Pythonの辞書の要素を削除しようとするとdictionary changed size during iterationと言われた

Python

辞書からある条件に一致する要素を削除しようと思い、下のようにすると

for key in dic.keys():
    dic.pop(key)

エラーが出てきました。

RuntimeError: dictionary changed size during iteration

こうすれば大丈夫です。

for key in list(dic):
    dic.pop(key)

forを使って辞書を操作する時は基本的にlist()を使った方がいいかもしれない