list 数量级 空间 start
在看 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
不同的方法,函数执行的时间相差一两个数量级,在大型应用中,可能就是几百倍的性能优化空间,掌握底层实现,精准操作还是很重要的啊。
来源: http://www.bubuko.com/infodetail-2107742.html