目标
- 测试Python中列表操作的 大 O 性能。然后我们将做一些基于时间的实验来检测出每个数据结构的时间成本
测试流程
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的编程方式执行效率较高,平均耗时短。
文章永久链接:https://tech.souyunku.com/19277