会用到的python模块:timeit
timeit模块:准确测量小段代码的执行时间
timeit模块中有三个函数,理解一个常用的计时器函数就好了:
timeit.Timer(stmt='pass',setup='pass',timer=)
stmt:是指需要测量的语句或者函数
setup:是初始化代码或构建环境的导入语句
timer:是计时函数不用管它,与平台有关
timeit.Timer.timeit(number = 1000000)
默认是10000000
列表生成方法:
from timeit import Timer
# 加法
def t1():
list1 = []
for i in range(1000):
list1 = list1 + [i]
# append
def t2():
list2 = []
for i in range(1000):
list2.append(i)
# 列表生成器
def t3():
list3 = [i for i in range(1000)]
# list方法
def t4():
list4 = list(range(1000))
timer1 = Timer(stmt='t1()',setup='from __main__ import t1')
timer1.timeit(1000)
print('+ method:',timer1.timeit(1000))
timer2 = Timer(stmt='t2()',setup='from __main__ import t2')
timer2.timeit(1000)
print('append method:',timer2.timeit(1000))
timer3 = Timer(stmt='t3()',setup='from __main__ import t3')
timer3.timeit(1000)
print('列表生成器 method',timer3.timeit(1000))
timer4 = Timer(stmt='t4()',setup='from __main__ import t4')
timer4.timeit(1000)
print('直接list:',timer4.timeit(1000))
直接用list方法效率最高,列表生成器其次,append再次,列表相加效率较低。
append效率比insert高