-
Anonymous
Странный результат при удалении элемента из списка при его переборе в Python
Сообщение
Anonymous »
У меня есть этот фрагмент кода:
Код: Выделить всё
numbers = list(range(1, 50))
for i in numbers:
if i < 20:
numbers.remove(i)
print(numbers)
Но результат, который я получаю:
Код: Выделить всё
[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
1763950277
Anonymous
У меня есть этот фрагмент кода:
[code]numbers = list(range(1, 50))
for i in numbers:
if i < 20:
numbers.remove(i)
print(numbers)
[/code]
Но результат, который я получаю:
[code][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][/code]
Конечно, я ожидаю, что числа ниже 20 не появятся в результатах. Похоже, я делаю что-то не так с удалением.
Подробнее здесь: [url]https://stackoverflow.com/questions/6260089/strange-result-when-removing-item-from-a-list-while-iterating-over-it-in-python[/url]