1. ホーム
  2. パイソン

Python3で辞書操作時にエラーが発生した:反復処理中に辞書のサイズが変更された

2022-03-02 15:10:50

エラーのコード

a={'a':1, 'b':0, 'c':1, 'd':0}
for key in a.keys():
	del a[key]

<スパン 参照 https://www.python.org/dev/peps/pep-0234/
おそらくこれは、トラバーサル中に辞書を変更できないことを意味し、リストまたはコレクションに変換して処理することが推奨されます。


というわけで、正しいコード。

a={'a':1, 'b':0, 'c':1, 'd':0}
for key in list(a.keys()):
	del a[key]