вставка 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, поскольку я выполняю обратную операцию непосредственно, вставляя числа перед этим. Но время говорит об обратном. Я не понимаю, почему последний метод требует больше времени для выполнения, хотя метод выглядит более элегантно. Есть ли у кого-нибудь объяснение этому?

Ответы на вопрос(5)

Ваш ответ на вопрос