Твой код не работает, потому что в цикле ты создаешь новый список и меняешь его индексацию
a ['12.jpg', '34.png', '54.gif', '101.rar', '689.png']
x 12.jpg
a ['34.png', '54.gif', '101.rar', '689.png']
x 54.gif
a ['34.png', '54.gif', '101.rar', '689.png']
x 101.rar
a ['34.png', '54.gif', '101.rar', '689.png']
x 689.png
['34.png', '54.gif', '101.rar']
Тип ты нашел g на первой позиции и выбросил его и создал новый список в котором нулевой индекс имеет уже 34.png, но твой цикл уже обращается к элементу с индексом 1, а в твоем новом списке это уже 54.gif