Почему Python пропускает элементы, когда я изменяю список во время итерации по нему?Python

Программы на Python
Anonymous
Почему Python пропускает элементы, когда я изменяю список во время итерации по нему?

Сообщение Anonymous »

Сейчас я разрабатываю программу на Python и только что заметил, что что-то не так с циклом foreach в языке или, возможно, со структурой списка. Для упрощения я просто приведу общий пример моей проблемы, поскольку я получаю одно и то же ошибочное поведение как в моей программе, так и в моем общем примере:

Код: Выделить всё

x = [1,2,2,2,2]

for i in x:
x.remove(i)

print x
Ну, проблема здесь проста, я думал, что этот код должен был удалить все элементы из списка. Проблема в том, что после его выполнения у меня всегда остаются 2 элемента в списке.
Что я делаю не так?
Нет очень хочу очистить список, это всего лишь пример...

Подробнее здесь: https://stackoverflow.com/questions/742 ... ng-over-it

Вернуться в «Python»