本文主要是介绍Python几种建表方法运行时间的比较,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
建立一个表[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()
有什么疑问,望留言!
这篇关于Python几种建表方法运行时间的比较的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!