вставка Python против добавления
Я написал базовые фрагменты Python, чтобы сначала вставить значения в список, а затем обратить их вспять. Я обнаружил, что между методами вставки и добавления существует огромная разница в скорости выполнения.
Фрагмент 1:
L = []
for i in range(10**5):
L.append(i)
L.reverse()
Время, необходимое для выполнения этого:
real 0m0.070s
user 0m0.064s
sys 0m0.008s
Фрагмент 2:
l = []
for i in range(10**5):
l.insert(0,i)
Время, необходимое для выполнения:
real 0m5.645s
user 0m5.516s
sys 0m0.020s
Я ожидал, что фрагмент кода 2 будет работать намного лучше, чем фрагмент кода1, поскольку я выполняю обратную операцию непосредственно, вставляя числа перед этим. Но время говорит об обратном. Я не понимаю, почему последний метод требует больше времени для выполнения, хотя метод выглядит более элегантно. Есть ли у кого-нибудь объяснение этому?