python 循环与列表生成式

来源:互联网 发布:淘宝规定卖家发货时间 编辑:程序博客网 时间:2024/05/29 17:43

一般而言,在循环与列表生成式都可选的时候,列表生成式感觉速度会更快一点,做一个对比试验:

# python3import timedef compare_time(N):    start1 = time.time()    r1 = []    for i in range(N):        for j in range(N):            r1.append(i*j)    end1 = time.time()    start2 = time.time()    r2 = [i*j for i in range(N) for j in range(N)]    end2 = time.time()    print('for N=' + str(N),end='\t')    print(end1-start1,end='\t')    print(end2-start2)for N in [1,10,100,1000,10000]:    compare_time(N)

输出结果为:

for N=1 2.002716064453125e-05   1.0013580322265625e-05for N=10    4.6253204345703125e-05  2.2649765014648438e-05for N=100   0.002928018569946289    0.0009961128234863281for N=1000  0.2267467975616455  0.1569828987121582for N=10000 17.209186792373657  12.588067054748535

由此可见,还是列表生成式速度会更快一点。

原创粉丝点击