python list 的+、+=和extend操作
2014-12-26 23:37
302 查看
据说后者在list很大的时候性能稍好。
于是测试了一把:
我机器是win7,64bit,6G 内存,i3 cpu,结果如下:
在b为10^8长度的时候,extend所耗的时间几乎只有+操作的一半。
在1000长度的级别,相差不大。几乎相同。
+=等同于extend,如下:
输出:
于是测试了一把:
import time def time_cost(func): def _time_cost(*args,**kw): t1=time.time() func(*args,**kw) t2=time.time() return t2-t1 return _time_cost @time_cost def test_add(list_a,huge_list_b): return list_a+huge_list_b @time_cost def test_extend(list_a,huge_list_b): return list_a.extend(huge_list_b) if __name__=='__main__': print '-----big list test-------------' a=[1]*1000 b=['a']*(10**8) print 'add cost:%s seconds'%test_add(a,b) print 'extend cost:%s seconds'%test_extend(a,b) print '-----small list test-------------' a=[1]*1000 b=['a']*(10**2) print 'add cost:%s seconds'%test_add(a,b) print 'extend cost:%s seconds'%test_extend(a,b)
我机器是win7,64bit,6G 内存,i3 cpu,结果如下:
-----big list test------------- add cost:1.30500006676 seconds extend cost:0.591000080109 seconds -----small list test------------- add cost:0.0 seconds extend cost:0.0 seconds
在b为10^8长度的时候,extend所耗的时间几乎只有+操作的一半。
在1000长度的级别,相差不大。几乎相同。
+=等同于extend,如下:
import time def time_cost(func): def _time_cost(*args,**kw): t1=time.time() func(*args,**kw) t2=time.time() return t2-t1 return _time_cost @time_cost def test_add(list_a,huge_list_b): list_a+=huge_list_b return list_a @time_cost def test_extend(list_a,huge_list_b): return list_a.extend(huge_list_b) if __name__=='__main__': print '-----big list test-------------' a=[1]*1000 b=['a']*(10**8) a2=[1]*1000 print '+= cost:%s seconds'%test_add(a,b) print 'extend cost:%s seconds'%test_extend(a2,b)
输出:
-----big list test------------- += cost:0.506999969482 seconds extend cost:0.510999917984 seconds
相关文章推荐
- 在Python中操作列表之list.extend()方法的使用
- 在Python中操作列表之list.extend()方法的使用
- python list的append和extend操作
- python中list操作详解
- Python 区分List和一维数组的不同操作
- python list操作
- [Python]两个list对应元素操作(相减)
- python中的list如何进行相减操作或者将list分片
- python的list操作
- python中list操作
- python中list操作详解
- 不生成一个新的LIST而直接对LIST的项目进行操作(转自python-cn list)
- python整理八——list的简单操作
- Python list 操作
- python的list操作
- Python list 操作
- python中的list如何进行相减操作或者将list分片
- Python 列表(list)操作
- python list之append和extend的区别
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结