Aquí está el código que encontré:¿Por qué es "ordenados()" más lento que "copiar y, a continuación .Sort()" de Python
import timeit
print timeit.Timer('''a = sorted(x)''', '''x = [(2, 'bla'), (4, 'boo'), (3, 4), (1, 2) , (0, 1), (4, 3), (2, 1) , (0, 0)]''').timeit(number = 1000)
print timeit.Timer('''a=x[:];a.sort()''', '''x = [(2, 'bla'), (4, 'boo'), (3, 4), (1, 2) , (0, 1), (4, 3), (2, 1) , (0, 0)]''').timeit(number = 1000)
y aquí están los resultados:
0.00259663215837
0.00207390190177
Me gustaría saber por qué usar .sort() es consistentemente más rápido que sorted() a pesar de que ambos son listas de copiado.
Nota: Me postulo Python 2.7 en un sistema i5 a 2,53 GHz con Win7
recomendaría probar este varias veces seguidas con listas mucho más grandes para el rigor –
@AndrewGorcester Compro la sugerencia de la lista más grande, pero ¿por qué más veces? ¿1000 no es suficiente para una precisión estadística razonable? – robert
Disculpe, no estaba familiarizado con el módulo de tiempo y me acababa de dar cuenta de que se repetía 1000 veces al mismo tiempo que respondía. Eso debería ser un montón de repeticiones. –