Удаление нуля из списка с помощью цикла for с использованием условия

Есть код:

a = [8, 11, -9, 0, 5, -20]
for i in a:
    if i <= 0:
        print(i)

который возвращает -9, 0, -20. Как только пытаюсь удалить i-ый элемент из списка, 0 не проходит по условию, то есть код:

a = [8, 11, -9, 0, 5, -20]
for i in a:
    if i <= 0:
        print(i)
        a.remove(i)

возвращает -9 и -20.

a.pop(i) и del a[a.index(i)] ведут себя абсолютно так же. Проверки or i == 0 и or str(i) = '0' не помогли.


Ответы (0 шт):