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

Я просматриваю список и удаляю элементы, удовлетворяющие моему условию. Но почему это не работает, как указано ниже? Спасибо.

>>> a=[ i for i in range(4)]
>>> a
[0, 1, 2, 3]
>>> for e in a:
...     if (e > 1) and (e < 4):
...         a.remove(e)
... 
>>> a
[0, 1, 3]
>>> a=[ i for i in range(4)]
>>> for e in a:
...     if (e > -1) and (e < 3):
...         a.remove(e)
... 
>>> a
[1, 3]
7
задан Martin08 10 February 2011 в 18:12
поделиться