On Fri, Jul 19, 2002, Fredrik Lundh wrote:
aahz wrote:
Ping:
I believe this is where the biggest debate lies: whether "for" should be non-destructive. I realize we are currently on the other side of the fence, but i foresee enough potential pain that i would like you to consider the value of keeping "for" loops non-destructive.
Consider
for line in f.readlines():
in any version of Python.
and? for-in doesn't modify the object returned by f.readlines(), and never has.
While technically true, that seems to be sidestepping the point from my POV. I think that few people see for loops as inherently non-destructive due to the use case I presented above. Beyond that, the for loop is itself inherently mutating in Python older than 2.2, which I see as functionally equivalent to "destructive"; the primary intention of iterators (from my recollections of the tenor of the discussions) was to package that mutating state in a way that could capture the iterability of objects other than sequences. -- Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/ Project Vote Smart: http://www.vote-smart.org/