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