Olá, Rogério. Tudo bem?
O trecho de código strange_list.insert(0, i)
realmente insere os valores sempre na posição 0. E o loop vai de 0-4.
Porém, a saída é 4, 3, 2, 1, 0
ocorre justamente devido ao insert(0, i)
. Pois quando um novo valor é inserido na primeira posição do vetor, os demais valores que já estavam no vetor são "empurrados" para as próximas posições do vetor.
Para entender melhor como isso acontece, vamos passar pelos detalhes da execução desse código.
Na primeira iteração do loop, o valor 0 é inserido na posição 0 do vetor.
Na segunda iteração do loop, o valor 1 é inserido na posição 0 do vetor. E o valor 0 vai para a posição posterior, ou seja, a posição 1.
Na terceira iteração, o valor 2 é inserido na posição 0. Fazendo com que o valor 1 que se encontrava na posição 0, vá para a posição 1. E o valor 0, que estava na posição 1, vá pra a posição 2.
Na quarta iteração, o valor 3 é inserido na posição 0. Assim o valor 2 vai para a posição 1, o valor 1 vai para a posição 2 e o valor 0 vá para a posição 3.
Por fim, na quinta iteração, o valor 4 é inserido na posição zero. Desse modo, os valores 3 2 1 e 0 são transferidos para as próximas posições, ficando respectivamente nas posições 1, 2, 3 e 4.
Assim, a saída final do código será 4, 3, 2, 1, 0
.
Espero ter esclarecido o funcionamento desse código para você. Qualquer outra dúvida estou a disposição.
Abraços. Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!