2015-02-16 2 views
2

из модуля Python timeit я хочу, чтобы проверить, сколько времени потребуется, чтобы напечатать следующее, как сделать так,Timeit модуля -passing аргументы модуля timeit питона

import timeit 
x = [x for x in range(10000)] 
timeit.timeit("print x[9999]") 
d=[{i:i} for i in x] 
timeit.timeit("print d[9999]") 

NameError: global name 'x' is not defined 
NameError: global name 'd' is not defined 
+0

не связаны: вы можете также использовать интерфейс командной строки: 'питон -mtimeit -s'x = список (диапазон (10000)); d = [{i: i} для i в x] '' d [9999] '' – jfs

ответ

4

Per the docs:

Чтобы предоставить доступ к timeit модуль для функций, определяющих, вы можете передать настройки параметр, который содержит оператор импорта

В вашем случае, это было бы например .:

timeit.timeit('print d[9999]', 
       setup='from __main__ import d') 
+0

Не бесконечно, но' timeit' работает по умолчанию по 1000000 раз. Вы вообще читали документацию ?! – jonrsharpe

Смежные вопросы