Встречается на 2% собеседований по Python

Что будет с циклом for если проводить итерацию по списку

При итерации по списку цикл for последовательно перебирает элементы списка от первого до последнего. Если во время итерации изменять список (добавлять/удалять элементы), это может привести к неожиданному поведению.

Пример:

python
lst = [1, 2, 3, 4]
for item in lst:
    if item == 2:
        lst.remove(item)  # Изменяем список во время итерации
    print(item)

Выведет: 1, 2, 4 (элемент 3 будет пропущен, так как после удаления 2 элементы сдвинутся)

Рекомендуется:

  1. Итерироваться по копии списка (for item in lst.copy())
  2. Использовать списковые включения для фильтрации
  3. Создавать новый список вместо изменения исходного

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы