次のように、指定されたキーが欠落しており、デフォルトが提供されていない場合に発生するdict.pop
ため、アトミックに動作すると考えるのが妥当と思われます。KeyError
d.pop(k)
ただし、ドキュメントは、少なくとも具体的にドキュメント化するセクションでは、その点に具体的に対処していないようdict.pop
です。
この質問は、このパターンを使用した私の回答を確認していたときに発生しました。
if k in d: del d[k]
その時、キーが の間に存在する可能性があるという潜在的な状態については考えてif
いませんでしたが、 の時点ではそうではありませんでしたdel
。実際にアトミックな代替手段を提供している場合dict.pop
は、私の答えに注意する必要があります。