python insert vs append
Escrevi trechos básicos de python para inserir primeiro valores em uma lista e depois revertê-los. Descobri que havia uma enorme diferença de velocidade de execução entre os métodos insert e appen
Snippet 1:
L = []
for i in range(10**5):
L.append(i)
L.reverse()
Tempo gasto para executar isso:
real 0m0.070s
user 0m0.064s
sys 0m0.008s
Snippet 2:
l = []
for i in range(10**5):
l.insert(0,i)
Tempo necessário para executar:
real 0m5.645s
user 0m5.516s
sys 0m0.020s
Eu esperava que o snippet 2 tivesse um desempenho muito melhor que o snippet1, pois estou executando a operação reversa diretamente inserindo os números anteriores. Mas o tempo gasto diz o contrário. Não consigo entender por que o último método leva mais tempo para ser executado, mesmo que o método pareça mais elegante. Alguém tem alguma explicação para isso?