Сразу скажу, что прежде чем сюда писать прочел соответствующую главу Бизли.
Ответа на мой вопрос, там не нашел.
Вобщем столкнулся я с непонятным для меня поведением for, а имено. Если преберать for(м) последовательность и при каждой итерации удалять из этого объекта возвращаемое значение.
То ощущение что фор бежит через 1
Я понимаю что, влюбом случае такие вещи нужно делать с копией объекта,
но всеже почему он так себя ведет?
In [87]: a = [1,2,3,4,5] In [88]: [a.pop(a.index(x)) for x in a] Out[88]: [1, 3, 5] In [89]: a Out[89]: [2, 4] In [90]: a = [1,2,3,4,5] In [91]: for x in a: print a.pop(a.index(x)) 1 3 5 In [92]: a Out[92]: [2, 4]