Почему цикл for прекращает работу?

Мне требуется из списка term_list, так сказать, вырезать все числа, но по какой то причине, после того как я получаю первое число и перемещаю его в отдельный список, итерация циклов прекращается, прекращается она на знаке +, почему так происходит?

term_list =  ['2', '2', '+', '2', '2', '+', '2', '2']
Input_line_numbers = []

for n in term_list:
    print('   Я итерация цикла ')
    if n in ("+"):
        print('\n         Я ариф.действия: ',n)
        index = term_list.index(n)
        print('       Я индекс ариф.действия: ',index)
        Input_line_numbers.append(''.join(term_list[0:index]))
        print('       Я список чисел строки ввода: ',Input_line_numbers)
        del term_list[0:index+1]
        print('       Я список строки ввода: ',term_list,'\n')
        
print('\n\nЯ список строки ввода: ',term_list)

введите сюда описание изображения


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

Автор решения: Danis

это происходит из-за то что вы удаляете элементы массив в цикле

for n in term_list:

поменяйте

for n in term_list.copy():
→ Ссылка