You're right in your suspicion that the list is being changed as you iterate through, so the indexes are changing from underneath you. You found a nice way around that with the reversing.