On 9/7/2010 9:40 PM, Gregory Ewing wrote:
Thomas Jollans wrote:
Hmm. Modifying an object while iterating over it isn't a great idea,
ever:
I wouldn't say never.
How about "Modifying a collection while iterating over it without
understanding the dangers is a bad idea."
" Algorithms that calculate some kind of
transitive closure can be expressed rather neatly by appending
items to a list being iterated over.
Which is one reason list modification while iterating is not prohibited.
Deleting items while forward iterating and adding items while backward
iterating may miss items unexpectedly. Adding items ahead of forward
iteration and deleting items behind backward iterating are ok. The most
common example of the latter is successively popping item off a stack.
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list