list.pop()函数操作头部与尾部的计时试验
代码呈现:from timeit import Timer l1 = list(range(2000000)) l2 = list(range(2000000)) popzero = Timer("l1.pop(0)", "from __main__ import l1") print("end:%f sec" % popzero.timeit(number=1000)) popend = Timer("l2.pop()", "from __main__ import l2") print("head:%f sec" % popend.timeit(number=1000))结果:
end:1.150756 sec head:0.000062 sec探究列表的大小对两种操作的影响:
from timeit import Timer popzero = Timer("l1.pop(0)", "from __main__ import l1") popend = Timer("l2.pop()", "from __main__ import l2") print(' '*8+"pop(0)************pop()") for i in range(1000000, 10000001, 1000000): l1 = list(range(i)) head = popzero.timeit(number=1000) l2 = list(range(i)) end = popend.timeit(number=1000) print("%15.5f %15.5f" % (head, end))结果:
pop(0)************pop() 0.44019 0.00006 1.16504 0.00008 1.72717 0.00007 2.40732 0.00008 3.08073 0.00008 3.77108 0.00008 4.46222 0.00007 5.10130 0.00006 5.79160 0.00006 6.41642 0.00007 #可知,pop(0)呈线性增长的趋势,pop()是平坦的常数
查看更多关于list.pop()函数操作头部与尾部的计时试验的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did127030