Python で辞書を操作する場合、キーの反復中に項目を削除するという問題が生じます。これを効果的に実現する方法は次のとおりです。
Python 3 では、keys() メソッドから取得したキーのリストを反復処理できます。
<code class="python">for k in list(mydict.keys()): if mydict[k] == 3: del mydict[k]</code>
Python 2 では、 iterkeys() メソッドはリストの代わりにイテレータを返します。したがって、 iterkeys() を反復処理中に辞書を変更すると、RuntimeError が発生します。代わりに、keys() メソッドを使用してキーのリストを取得します。
<code class="python">for k in mydict.keys(): if k == 'two': del mydict[k]</code>
項目の値に基づいて削除するには、items() メソッドを反復処理します。
<code class="python">for k, v in mydict.items(): if v == 3: del mydict[k]</code>
次のことを忘れないでください。反復プロセスが中断される可能性があるため、反復中に辞書を変更する場合は注意してください。
以上が反復中に Python 辞書から項目を削除できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。