Trying to time how long it takes to sort a random list:
import random
import timeit
randoms = random.sample(xrange(100), 10)
print randoms
timeit.timeit('sorted(r)',setup = 'r = random.sample(xrange(100), 10)')
Error:
Traceback (most recent call last):
File "C:/Users/Arthur/Desktop/Dropbox/uni stuff/cs/python/theory hmwk/random.py", line 6, in <module>
timeit.timeit('sorted(r)',setup = 'r = random.sample(xrange(100), 10)')
File "C:\Python27\lib\timeit.py", line 230, in timeit
return Timer(stmt, setup, timer).timeit(number)
File "C:\Python27\lib\timeit.py", line 195, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 3, in inner
NameError: global name 'random' is not defined
You need to explicitly import
random
in the setup string:timeit.timeit
does not automatically pull names into the setup string to avoid accidentally skewing the results of your tests (what if it imported a name that you did not want?)