Modifying a list while iterating over it - why not?
list, python
Solution
while len(mylist) > 0:
print mylist.pop()
You are not iterating over the list. You are each time checking an atomic condition.
Also:
while len(mylist) > 0:
can be rewritten as:
while len(mylist):
which can be rewritten as:
while mylist:
Problem
Almost every tutorial and SO answer on this topic insists that you should never modify a list while iterating over it, but I can't see why this is such a bad thing if the code is valid. For example: ``` while len(mylist) > 0: print mylist.pop() ``` Am I missing something?