O que acontece quando você tenta excluir um elemento da lista enquanto itera sobre ele
Estou iterando uma lista da seguinte maneira:
some_list = [1, 2, 3, 4]
another_list = [1, 2, 3, 4]
for idx, item in enumerate(some_list):
del some_list[idx]
for item in another_list:
another_list.remove(item)
Quando imprimo o conteúdo das listas
>>> some_list
[2, 4]
>>> another_list
[2, 4]
Estou ciente de que o Python não suporta a modificação de umlist
enquanto itera sobre ele e o caminho certo é iterar sobre a cópia da lista (por isso, não faça voto negativo). Mas quero saber o que exatamente acontece nos bastidores, ou seja, por que a saída do snippet acima[2, 4]
?