python往列表里面添加数据的方法以及各种方法时所用时间
- 循环
def aa(): arr = [] for a in range(1000): arr.append(a) print("列表追加 "+str(timeit.timeit('aa()',setup="from __main__ import aa",number=10000)))
- 加法
def bb(): arr=[] for a in range(1000): arr=arr+[a] print("列表加法 "+str(timeit.timeit('bb()',setup="from __main__ import bb",number=10000)))
- range的方法
def dd(): return list(range(1000)) print("range方法 "+str(timeit.timeit('dd()',setup="from __main__ import dd",number=10000)))
- 推导式
def ee(): return [i for i in range(1000)] print("推导式 "+str(timeit.timeit('ee()',setup="from __main__ import ee",number=10000)))
5.extend
def ff(): arr=[] for item in range(1000): arr.extend(["item"]) print("extend "+str(timeit.timeit('ff()',setup="from __main__ import ff",number=10000)))
6.加等于
def cc(): arr=[] for a in range(1000): arr+=[a] print("列表加法 "+str(timeit.timeit('cc()',setup="from __main__ import cc",number=10000)))
运行结果
通过比较,range方法运行效率高