Я пытаюсь перебрать список с элементами. Когда элемент обрабатывается, я хочу удалить элемент и записать список в файл. Но есть проблема, что удаляются только элементы на четных позициях.Удаление элементов из списка во время итерации по нему
Вот очень простой пример:
>>> x = [1,2,3,4,5,6,7,8,9]
>>> for i in x:
... print x
... x.remove(i)
... write_x_into_the_file()
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 7, 8, 9]
[2, 4, 6, 8, 9]
Я думаю, что это потому, что он перебирает с помощью индекса приращения. Знаете ли вы какое-то pythonic обходное решение?
Что вы * на самом деле пытаетесь достичь? * – jonrsharpe
Эти элементы URLs в реальном. Я хочу сделать некоторые вещи со всеми этими URL-адресами (чтобы получить некоторые данные). Но иногда бывают ситуации, когда соединение падает или схожие проблемы. Чтобы иметь возможность продолжить работу с URL-адресом, где возникла проблема, я должен сохранить их в файле. –
Так почему же это влечет за собой удаление элементов из списка во время итерации по нему? – jonrsharpe