列表和字典操作的时间复杂度

列表操作的时间测试

timeit 模块的使用

def test1():
    li = [for i in range(10000)]
    
    
#1、生成一个定时器对象
time1 = timeit.Timer('test1()','from __main__ import test1')  #参数接受要测试的代码块,以及导入的接口

#2、配置测试次数
ret = time1 = time1.timeit(100)
print(ret)

实际测试列表各操作时间

import timeit


def test1():
    li = []

    for i in range(10000):
        li.append(i)


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


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


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


def test5():
    li = []
    for i in range(10000):
        li.insert(-1, i)


if __name__ == '__main__':
    timer1 = timeit.Timer('test1()', 'from test100 import test1')
    timer2 = timeit.Timer('test2()', 'from test100 import test2')
    timer3 = timeit.Timer('test3()', 'from test100 import test3')
    timer4 = timeit.Timer('test4()', 'from test100 import test4')
    timer5 = timeit.Timer('test5()', 'from test100 import test5')
    print('t1', timer1.timeit(100))
    print('t2', timer2.timeit(100))
    print('t3', timer3.timeit(100))
    print('t4', timer4.timeit(100))
    print('t5', timer5.timeit(100))

测试结果:

t1 0.07158424341100353
t2 0.07301271975410409
t3 0.03303415543256208
t4 0.020644924926769975
t5 0.13402191468167618

列表与字典内置方法的时间复杂度

1456462-20190121125418109-1585582514.png
1456462-20190121130137417-965649707.png

转载于:https://www.cnblogs.com/Kingfan1993/p/10298150.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值