итерация проходит не по очереди! Python

Здраствуйте, я делаю задание, и столкнулся, что самый последний фор, скачет по списку, вместо того чтобы идти по i. Вот код:

arr = ['инженер-конструктор Игорь', 'главный бухгалтер МАРИНА', 'токарь высшего разряда нИКОЛАй', 'директор аэлита']
for i in range(len(arr)):
    arr[i].islower()
last_len = len(arr)

for i in range(len(arr)):
    temporary_list = arr[i].split(" ")
    hm_indexes = len(temporary_list) -1
    temporary_name = temporary_list[hm_indexes]
    name = temporary_name.lower().title()
    arr.append(name)

print(arr)
for words in arr:
    print(words)
    arr.remove(words)

Пробовал while, не получилось. Предпочту ничего не менять, кроме последнего цикла, для моей задачи. В этом цикле, мне нужно удалить все до "Игорь" НЕ ВКЛЮЧИТЕЛЬНО! Помогите пожалуйста. Вывод удалающихся элементов такой: инженер-конструктор Игорь, токарь высшего разряда нИКОЛАй, Игорь, Николай,


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

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

Удалять элементы из списка при итерации по списку - НЕЛЬЗЯ

Единственный корректный способ удаления в цикле - итерировать с конца массива до начала.

→ Ссылка
Автор решения: CrazyElf

Это можно легко починить, итерируясь по копии списка:

for words in arr.copy():
    print(words)
    arr.remove(words)

Но вообще это плохая практика, лучше так не делать, а использовать списковое включение для создания нового списка:

arr = [a for a in arr if тут_условие_сохранения_элемента_в_списке]
→ Ссылка