在列表的操作有一个非常常见的编程任务就是是 增加一个列表。
实例化一个空列表,然后将0-1000范围的数据添加到列表中。(四种方式)
timeit模块:该模块可以用来测试一段python代码的执行耗时/速度。
Timer类:该类是timeit模块中专门用于测量python代码的执行速度/时长的。
原型为:class timeit.Timer(stmt=‘pass‘,setup=‘pass‘)。
stmt参数:表示即将进行测试的代码块语句。setup:运行代码块语句时所需要的设置。timeit函数:timeit.Timer.timeit(number=1000),该函数返回代码块语句执行1000次的平均耗时。代码实现
from timeit import Timer
def test01():
lst = []
for i in range(1000):
lst.append(i)
def test02():
lst = []
for i in range(1000):
lst = lst + [i]
def test03():
lst = [i for i in range(1000)]
def test04():
lst = list(range(1000))
if __name__ == ‘__main__‘:
t1 = Timer(‘test01()‘, ‘from __main__ import test01‘)
print(‘test01执行1000次的平均耗时为:‘, t1.timeit(1000))
t2 = Timer(‘test02()‘, ‘from __main__ import test02‘)
print(‘test02执行1000次的平均耗时为:‘, t2.timeit(1000))
t3 = Timer(‘test03()‘, ‘from __main__ import test03‘)
print(‘test03执行1000次的平均耗时为:‘, t3.timeit(1000))
t4 = Timer(‘test04()‘, ‘from __main__ import test04‘)
print(‘test04执行1000次的平均耗时为:‘, t4.timeit(1000))
# test01执行1000次的平均耗时为: 0.10615770700000016
# test02执行1000次的平均耗时为: 1.6049855060000002
# test03执行1000次的平均耗时为: 0.06575727400000009
# test04执行1000次的平均耗时为: 0.017617561000000226
# 可以得出结论,test04的编程方式执行效率较高,平均耗时短。
借助 timeit 模块测试不同编程方式的执行效率,以列表添加元素为例
原文:https://www.cnblogs.com/fengting0913/p/13303712.html