我正在学习python,正在研究使用理解和map函数之间的性能差异。
到目前为止,我有这段代码:
import timeit
print timeit.timeit('[x for x in range(100)]',number = 10000)
def mapFunc(i):
print i
print timeit.timeit('map(mapFunc,range(100))',number = 10000)
尝试这个之后,我设法让列表理解方法使用timeit正常工作,但是,我想将它与map函数进行比较。这样做时,我得到mapFunc未定义的错误,我不知道如何解决这个问题。有人可以帮忙吗?
答案 0 :(得分:2)
您应该通过setup
参数设置函数定义:
>>> setup='def mapFunc(): print(i)'
>>> timeit.timeit('map(mapFunc,range(100))', number=10000, setup=setup)
P.S。使用map
进行打印可能不太好。