用 timeit.Timer.timeit() 方法来测试代码的运行时间:
from timeit import Timer def t1(): li = [] for i in range(10000): li.append(i) def t2(): li = [] for i in range(10000): li.insert(0, i) T1 = Timer("t1()", "from __main__ import t1") print("append:", T1.timeit(1000)) T2 = Timer("t2()", "from __main__ import t2") print("insert(0):", T2.timeit(1000))
测试一下append 和 insert 哪一个效率更高, 实例化Timer类时,第一个参数 是字符串类型,表示的是执行函数的语句.
第二个参数是设置,需要 从当前模块导入一个测试函数. 因为并不是在这个文件中执行的.
调用 timeit() 方法时传入的参数 1000 指的是测试次数, 即测试函数1000次.
结果:
>>>append: 1.1107756999126404 insert(0): 20.437914913455618
append 比 insert 高出许多,因为insert(0, i) 表示从列表开始插入.