En python, nous pouvons concaténer des listes de deux façons:Est-ce que `extend` est plus rapide que` + = `?
- lst.extend (another_lst)
- LST + = another_lst
Je pensais que extend
serait plus rapide que d'utiliser +=
, car réutilise la liste au lieu d'en créer une nouvelle en utilisant les deux autres.
Mais quand je le tester avec timeit
, il se avère que +=
est plus rapide,
>>> timeit('l.extend(x)', 'l = range(10); x = range(10)')
0.16929602623
>>> timeit('l += x', 'l = range(10); x = range(10)')
0.15030503273
>>> timeit('l.extend(x)', 'l = range(500); x = range(100)')
0.805264949799
>>> timeit('l += x', 'l = range(500); x = range(100)')
0.750471830368
Y at-il quelque chose de mal avec le code que je mets en timeit
?
Pouvez-vous nous indiquer les heures que vous avez? De plus, ces opérations sont toutes deux en place, ce qui n'expliquerait aucune différence. –
Je pense que vous devriez utiliser des listes plus grandes, à cette taille minuscule, même la moindre activité de fond pourrait jeter le résultat. – vichle
@ Space_C0wb0y @vischle J'obtiens des résultats cohérents avec ce que Satoru rapporte même avec des listes de plus de 200 éléments. + = est légèrement, mais constamment, plus vite. C'est assez étrange. –