2011-01-07 8 views
5

que estaba probando el siguiente código de one of my previous questions (turning a list into a dictionary):¿Manera correcta de importar cuando se usa 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() 

Y estoy seguro de si las mejores prácticas cuando se utiliza timeit es importar izip en Timer 's declaración o configuración (estoy asumiendo la configuración, pero al final el resultado del tiempo varía dependiendo de lo que hago).

De todas formas, sólo que esperaba ningún ideas adicionales de ustedes, cuando su código de sincronización, etc. (también, sólo estoy tratando de aprender, no estoy sufriendo por la optimización prematura o nada).

Gracias.

Respuesta

5

Hágalo en la configuración. Después de todo, no volvería a importar el módulo cada vez que cree un dict, solo una vez para todo el programa. No le importa el momento de importar el módulo.

+0

Agradable. Gracias. – zachwill

Cuestiones relacionadas