我們用 生成一個0到((1萬倍n)-1)的list做例子
首先這種方式複雜度爲平方級
'''
def test1(n):
lst = []
for i in range(n*10000):
lst = lst + [i]
return lst
'''
如n=5,平均運行花費3秒2;
如果n=10的話,平均運行花費飆到14秒9;
是因爲複製一個長度爲n的list,本身的複雜度就是線性級的了。
###############################################################
接下來這幾種,時間複雜度都是線性級的
‘’‘
def test2(n):
lst = []
for i in range(n*10000):
lst.append(i)
return lst
def test3(n):
return [i for i in range(n*10000)]
def test4(n):
return list(range(n*10000))
’‘’
我們來對比一下,到底哪個快
測試後可以發現,直接用系統list方法是最快的,然後是列表推導,用list類的append方法排後。
頭條號 PythonChan