1. ホーム
  2. プログラミング言語
  3. パイソン

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

2022-01-21 05:17:49

エラーのコードです。

  1. a={'a':1, 'b':0, 'c':1, 'd':0}
  2. for key in a.keys():
  3. del a[key]
参考 https://www.python.org/dev/peps/pep-0234/
おそらくこれは、トラバーサル中に辞書を変更できないことを意味し、リストまたはコレクションに変換して処理することが推奨されます。


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

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