欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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()
有什么疑问,望留言!