python学习 列表不同操作的时间效率

#timeit模块可以测试一小段python代码的运行速度
from timeit import Timer
def test1():
    list_0 = []
    for i in range(10000):
        list_0.append(i)

def test2():
    list_0 = []
    for i in range(10000):
        list_0 += [i]

def test3():
    list_0 = [i for i in range(10000)]

def test4():
    list_0 = list(range(10000))

def test5():
    list_0 = []
    for i in range(10000):
        list_0.extend([i])

def test6():
    list_0 = []
    for i in range(10000):
        list_0.insert(0,i)

timer1= Timer('test1()','from __main__ import test1')
time_total = timer1.timeit(1000)
print('append 一共花费了:%f秒'%time_total)

timer2= Timer('test2()','from __main__ import test2')
time_total = timer2.timeit(1000)
print('  +  一共花费了:%f秒'%time_total)

timer3= Timer('test3()','from __main__ import test3')
time_total = timer3.timeit(1000)
print('[i for i in range] 一共花费了:%f秒'%time_total)

timer4= Timer('test4()','from __main__ import test4')
time_total = timer4.timeit(1000)
print('list(range()) 一共花费了:%f秒'%time_total)

timer5= Timer('test5()','from __main__ import test5')
time_total = timer5.timeit(1000)
print('extend 一共花费了:%f秒'%time_total)

timer6= Timer('test6()','from __main__ import test6')
time_total = timer6.timeit(1000)
print('insert(0) 一共花费了:%f秒'%time_total)

运行结果:
python学习 列表不同操作的时间效率_第1张图片
分析上述关于列表的操作
我们发现同样是对列表添加成员,append(从末尾添加)比insert(从起始添加)更节省时间。不同的操作实质上是不同的算法,比如 “+”运算的时间效率很低,了解这些有助于我们在程序开发时提高代码效率。

你可能感兴趣的:(算法)