Re[2]: [ZODB-Dev] lazy BTreeItems

2005-12-10 Thread Victor Safronovich
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

Re: [ZODB-Dev] lazy BTreeItems

2005-12-09 Thread Dieter Maurer
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

RE: [ZODB-Dev] lazy BTreeItems

2005-12-09 Thread Tim Peters
[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