Paul Rubin於 2012年8月17日星期五UTC+8上午9時01分39秒寫道: > Ian Kelly <ian.g.ke...@gmail.com> writes: > > > With regard to key insertion and deletion while iterating over a dict > > > or set, though, there is just no good reason to be doing that > > > (especially as the result is very implementation-specific), and I > > > wouldn't mind a more complete low-level check against it as long as > > > it's not too expensive (which is not clearly the case with the current > > > suggestion at all). > > > > One possible approach is to freeze the dictionary against modification > > while any iterator is open on it. You could keep a count of active > > iterators in the dict structure, adjusting it whenever an iterator is > > created or closed/destroyed.
If there is only one iterator of a frozen dictionary, then nothing is saved. But if there are manny iterators based on the same frozen dictionary, this approach saves a lot. -- http://mail.python.org/mailman/listinfo/python-list