ex exxam.ruPython с нуляШаг 6.13 · Списки
34 / 62На главную
шаг 6.13 · списки

Изменение списка во время перебора

Нельзя менять список во время перебора: индексы съезжают, и часть элементов пропускается.

Если удалять элементы из списка во время перебора, индексы внутри цикла начнут съезжать. Некоторые элементы будут пропущены, а в конце можно получить ошибку.

Правило простое: не изменяй коллекцию, по которой идёт перебор. Перебирай копию numbers.copy() или собирай новый список.

  1. Сейчас программа пропускает часть чисел.
  2. Измени цикл так, чтобы он перебирал копию списка.
  3. Удаляй элементы из исходного numbers.
Чтобы шаг был засчитан, нажмите «Проверить». «Выполнить» только показывает результат в консоли, но не завершает шаг.

Отлично! Теперь перебор идёт по независимой копии, поэтому удаляются все числа <= 10.

Требования

Удали все числа <= 10, перебирая копию списка. Вывод — [12, 15].

Проверка

Проверка запускает программу с чистого листа и сверяет итоговый список.

Подсказки Открываются по одной
живая сессия
Консоль общая сессия
Python 3.14 · переменные сохраняются между командами
>>>
Готовлю консоль…
консоль Живая сессия Python