在看python算法時,發現簡單的列表生成,不同的方式性能相差巨大,讓我對性能優化有了很大興趣。大家也來看一看平時有沒有犯類似的錯誤呢。
#!/usr/bin/env python import time def test1(n): lst = [] for i in range(n*10000): lst = lst + [i] return lst 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)) start = time.clock() test4(10) end = time.clock() print end-start
不同的方法,函數執行的時間相差一兩個數量級,在大型應用中,可能就是幾百倍的性能優化空間,掌握底層實現,精準操作還是很重要的啊。