数据结构与算法(python)--------------列表与字典

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

from timeit import Timer
import timeit
import random

if __name__ == "__main__":
    popzero = Timer("x.pop(0)", "from __main__ import x")
    popend = Timer("x.pop()", "from __main__ import x")
    print("pop(0)  pop()")
    for i in range(100000, 10000000, 1000000):
        x = list(range(i))
        pt = popend.timeit(number=1000)
        x = list(range(i))
        pz = popzero.timeit(number=1000)
        print("%15.5f,%15.5f" % (pz, pt))
    # 对比list和dict的in操作对比
    # 设计一个性能试验来验证list中检索一个值,以及dict中检索一个值的计时对比
    # 生成包含连续值的list和包含连续关键码key的dict,用随机数来实验操作符in的耗时
    for i in range(10000, 100000, 20000):
        t = timeit.Timer("random.randrange(%d) in x" % i, "from __main__ import random,x")
        x = list(range(i))
        lst_time = t.timeit(number=1000)
        x = {j: None for j in range(i)}
        d_time = t.timeit(number=1000)
        print("%d,%10.3f,%10.3f" % (i, lst_time, d_time))


    def test1():
        l = []
        for i in range(1000):
            l += [i]


    def test2():
        l = []
        for i in range(1000):
            l.append(i)


    def test3():
        l = [i for i in range(1000)]


    def test4():
        l = list(range(1000))

t1 = Timer("test1()", "from __main__ import test1")
print("concat % seconds" % t1.timeit(number=1000))
t2 = Timer("test2()", "from __main__ import test2")
print("concat % seconds" % t2.timeit(number=1000))
t3 = Timer("test3()", "from __main__ import test3")
print("concat % seconds" % t3.timeit(number=1000))
t4 = Timer("test4()", "from __main__ import test4")
print("concat % seconds" % t4.timeit(number=1000))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值