【发布时间】:2017-09-22 08:20:49
【问题描述】:
我正在使用timeit 测试defaultdict() 与dict.setdefault() 的效率。出于某种原因,timeit 的执行返回两个值;
从集合导入 defaultdict 从timeit导入timeit
dd = defaultdict(list)
ds = {}
def dset():
for i in xrange(100):
ds.setdefault(i, []).append(i)
def defdict():
for y in xrange(100):
dd[y].append(y)
然后我打印两个函数的执行时间,我得到了 4 个返回值;
print timeit('dset()', setup='from def_dict import dset')
print timeit('defdict()', setup='from def_dict import defdict')
22.3247003333
23.1741990197
11.7763511529
12.6160995785
主语句的执行次数。这会执行一次 setup 语句,然后返回执行 main 语句所需的时间,以浮点数为单位,以秒为单位。 参数是循环的次数,默认到一百万。将要使用的主语句、设置语句和定时器函数传递给构造函数。
我使用的是 Python 2.7。
- timeit 不应该返回一个值吗?我在网上看到的例子也返回一个值。
- 那么第二个值是多少?
【问题讨论】:
标签: python-2.7 performance dictionary timeit