Вот мой код:
Код: Выделить всё
numbers = [1, 2, 4, 5, 6, 8, 9]
for num in numbers:
if num % 2 == 0:
numbers.remove(num)
print(numbers) # Ожидаемый результат: [1, 5, 9]
Вместо ожидаемого [1, 5, 9] я получаю [1, 4, 5, 8, 9]. По какой-то причине программа "пропускает" некоторые числа (например, 4 и 8), хотя они явно четные.
Что я пробовал:
Я проверял условие if num % 2 == 0: отдельно; работает корректно.
Я заметил, что если в списке нет последовательных четных чисел, код иногда работает, но я не уверен.
Скажите, пожалуйста, почему итерация ведет себя так странно и как правильно удалять элементы из списка, не прерывая цикл? Заранее спасибо!