2011-01-07 11 views
5

stavo testando il seguente codice da one of my previous questions (turning a list into a dictionary):Modo corretto per importare quando si utilizza timeit?

single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3'] 

if __name__ == '__main__': 
    from timeit import Timer 
    print Timer("dict(zip(single[::2], single[1::2]))", 
     "from __main__ import single").timeit() 
    print Timer("si = iter(single); dict(izip(si, si))", 
     "from __main__ import single; from itertools import izip").timeit() 

E io sono sicuro se la migliore procedura utilizzando timeit è quello di importare izip in Timer s' affermazione o setup (sto assumendo configurazione, ma alla fine il risultato della temporizzazione differisce a seconda di quello che faccio).

In ogni modo, speravo solo per eventuali ulteriori approfondimenti da voi ragazzi quando tempi vostro codice, ecc (Inoltre, sto solo cercando di imparare-non sto soffrendo per l'ottimizzazione prematura o niente.)

Grazie.

risposta

5

Effettuare l'installazione. Dopotutto, non dovrai reimportare il modulo ogni volta che crei una dict - una sola volta per l'intero programma. Non ti importa dei tempi di importazione del modulo.

+0

Nizza. Grazie. – zachwill