Segue a sequência com seus respectivos tempos. Ah! Para medir o tempo usei o 'time' do linux e rodei todos com o comando a seguir no terminal do ubuntu 12.04 64bits.
$ time python teste.py
Apesar de óbvia a diferença entre usar range() e xrange() no python, fiz questão de deixar para mostrar/constatar em relação a tempo de execução.
lista = [] for i in range(1000000): lista.append(i) # TEMPO GASTO 0.198s for i in xrange(1000000): lista.append(i) # TEMPO GASTO 0.169s
Dica rápida: instancie o método append() , isso ajuda um pouco.
lista_append = lista.append
for i in range(1000000):
lista_append(i)
# TEMPO GASTO 0.158s
lista_append = lista.append
for i in xrange(1000000):
lista_append(i)
# TEMPO GASTO 0.156
List comprehension e generators
lista = [i for i in range(1000000)] # TEMPO GASTO 0.141s lista = [i for i in xrange(1000000)] # TEMPO GASTO 0.100s lista = (i for i in range(1000000)) # TEMPO GASTO 0.065s lista = (i for i in xrange(1000000)) # TEMPO GASTO 0.021s
Bacana a diferença de tempo entre o primeiro e último, não?
Nenhum comentário:
Postar um comentário