en Python, podemos concatenar las listas de dos maneras:¿Es `extender` más rápido que` + = `?
- lst.extend (another_lst)
- LST + = another_lst
pensé extend
sería más rápido que usar +=
, porque reutiliza la lista en lugar de crear una nueva usando las otras dos.
Pero cuando lo pruebo con timeit
, resulta que +=
es más rápido,
>>> 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
¿Hay algo mal con el código que puse en timeit
?
¿Puede mostrarnos los horarios que obtiene? Además, estas operaciones están en su lugar, por lo que no explicaría ninguna diferencia. –
Creo que debería usar listas más grandes, con ese tamaño pequeño, incluso la más mínima actividad de fondo podría arruinar el resultado. – vichle
@ Space_C0wb0y @vischle Obtuve resultados consistentes con lo que informa Satoru incluso con listas de más de 200 elementos. + = es leve, pero consistente, más rápido. Es bastante extraño. –