[Python-Dev] Making sure dictionary adds/deletes during iteration always raise exception

Raymond Hettinger raymond.hettinger at gmail.com
Tue Dec 13 11:54:28 EST 2016


> On Dec 13, 2016, at 8:42 AM, Raymond Hettinger <raymond.hettinger at gmail.com> wrote:
> 
>> On Dec 13, 2016, at 1:51 AM, Max Moroz <maxmoroz at gmail.com> wrote:
>> 
>> Would it be worth ensuring that an exception is ALWAYS raised if a key
>> is added to or deleted from a dictionary during iteration?
>> <snip>
>> I suspect the cost of a more comprehensive error reporting is not
>> worth the benefit, but I thought I'd ask anyway.
> 
> I think what we have has proven itself to be good enough to detect the common cases, and it isn't worth it to have dicts grow an extra field which has to be checked or updated on every operation.

Hmm, I just looked at the latest dictobject.h and remembered that Victor already added a version tag to track state changes.


Raymond


More information about the Python-Dev mailing list