Python几种建表方法运行时间的比较
程序员文章站
2022-05-19 14:11:55
建立一个表[0,1,2,3.......10n],下面几种方法都能实现,但是运行时间却截然不同哦
import time
#方法一
def test1(n):...
建立一个表[0,1,2,3.......10n],下面几种方法都能实现,但是运行时间却截然不同哦
import time #方法一 def test1(n): list=[] for i in range(n*10): list=list+[i] return list #方法二 def test2(n): list=[] for i in range(n*10): list.append(i) #方法三 def test3(n): return [i for i in range(n*10)] #方法四 def test4(n): return list(range(n*10)) /////////
下面调用time模块中clock()来计算程序运行时间,拿第四种为例,
start=time.clock() a=test4(2) end=time.clock() print end-start,a运行结果输出:
9.81685321663e-06,[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
其他三种方法运行时间分别为:
3.61438686612e-05 2.63270154446e-05 1.24941768212e-05
大家肯定有疑问,为什么第四种算法最节省时间? 简单来说,第四种方法直接利用了python的原算法(列表list),而其他方法在实现过程中构造一些额外的结构: 第一种和第二种构造了lst列表,第三种其实也构造了列表[i for i in range(n*10)],只有第四种直接调用了Python的原函数list()
有什么疑问,望留言!
上一篇: 揭秘历史上的雨花台之战,最终结果是什么?
下一篇: 无花果有几种品种?哪些品种品质好?