insertion de python vs append

J'ai écrit de base de python extraits de code à insérer des valeurs dans une liste, puis de l'inverser. Je trouve qu'il y a une énorme différence de vitesse d'exécution entre l'insert et l'ajout des méthodes.

Extrait 1:

L = []
for i in range(10**5):
 L.append(i)
L.reverse()

Temps d'exécution de cette :

real    0m0.070s
user    0m0.064s
sys         0m0.008s

Extrait 2:

l = []
for i in range(10**5):
 l.insert(0,i)

Temps d'exécution:

real    0m5.645s
user    0m5.516s
sys         0m0.020s

Je m'attendais à de l'extrait 2 pour effectuer beaucoup mieux que snippet1, puisque je suis en effectuant l'opération inverse directement par l'insertion, les numéros avant de. Mais le temps passé dit le contraire. Je n'arrive pas à comprendre pourquoi cette dernière méthode prend plus de temps à s'exécuter, même si la méthode semble plus élégant. Ce que quelqu'un a une explication à cela?

source d'informationauteur Rahul | 2011-10-15