Проблема с циклом for

Arschik

Новичок
Пользователь
Апр 5, 2020
6
0
1
1.Windows
2.Python 3.8.2
Мне нужно удалить все числа в списке, что больше или равны 5, но почему-то при запуске кода в списке остается числа: 8, 21 и 55. Помогите выяснить в чем проблема
Python:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
for i in a:
    if i >= 5:
        a.remove(i)
print(a)
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Мне нужно удалить все числа в списке, что больше или равны 5
Вот пример:
Python:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
a = [n for n in a if n < 5]
print(a)
Помогите выяснить в чем проблема
Проблема в том что вы пытаетесь удалить элемент из списка по которому проходите в цикле. Нужно или добавлять нужные элементы в другой список или запоминать ненужные элементы и после их удалять в другом цикле.
 
  • Мне нравится
Реакции: Тимофей и Student

Форум IT Специалистов