Hello Dieter Maurer,
Saturday, December 10, 2005, 12:32:35 AM, you wrote:
DM l = range(10)
DM for f in l: l.remove(f)
DM l
-- [1, 3, 5, 7, 9]
DM Due to the much more complex BTree structures, the results
DM of modifications during iteration might be even more surprising.
I know about this
Victor Safronovich wrote at 2005-12-9 12:05 +0500:
Hello zodb-dev!
Is this a correct behaviour?
from BTrees.IIBTree import IIBTree
t = IIBTree(map(None,range(5),range(5)))
list(t.keys())
[0, 1, 2, 3, 4]
k = t.keys()
list(k)
[0, 1, 2, 3, 4]
del t[0]
list(k)
[]
BUT
i = iter(t.keys())
del
[Victor Safronovich]
Hello zodb-dev!
Is this a correct behaviour?
from BTrees.IIBTree import IIBTree
t = IIBTree(map(None,range(5),range(5)))
list(t.keys())
[0, 1, 2, 3, 4]
k = t.keys()
list(k)
[0, 1, 2, 3, 4]
del t[0]
list(k)
[]
Nothing is defined about what an iterator sees