Странный результат при удалении элемента из списка при его переборе в Python ⇐ Python

Программы на Python
Anonymous
Странный результат при удалении элемента из списка при его переборе в Python

Сообщение Anonymous »

У меня есть этот код:

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

numbers = list(range(1, 50))

for i in numbers:
if i < 20:
numbers.remove(i)

print(numbers)
Этот код должен пройти по всем элементам списка и удалить те элементы, число которых меньше 20.
Но результат, который я получаю:

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

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
Как видите, из кода удалены все четные числа меньше 20, но остались нечетные. Похоже, я делаю что-то не так с удалением.

Подробнее здесь: https://stackoverflow.com/questions/626 ... -in-python

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