• 2019.9.10-Python列表与字典操作的时间复杂度及效率


    1 # coding:utf-8
    2
    3 from timeit import Timer
    4
    5 # li1 = [1, 2]
    6 # li2 = [23, 5]
    7 # li = li1+li2
    8 # li [i for i in range(10000)]
    9 # li = list(range(10000))
    10 # li = list(range(10000))
    11
    12 def t1():
    13 li = []
    14 for i in range(10000):
    15 li.append(i)
    16
    17 def t2():
    18 li = []
    19 for i in range(10000):
    20 li = li + [i] #這個+效率特別低
    21 #li += [i]
    22
    23 def t3():
    24 li = [i for i in range(10000)]
    25
    26 def t4():
    27 li = list(range(10000))

    28
    29 def t5():
    30 li = []
    31 for i in range(10000):
    32 li.extend([i])
    33
    34 timer1 = Timer("t1()", "from __main__ import t1")
    35 print("append:", timer1.timeit(1000))
    36
    37 timer2 = Timer("t2()", "from __main__ import t2")
    38 print("+:", timer2.timeit(1000))
    39
    40 timer3 = Timer("t3()", "from __main__ import t3")
    41 print("[i for i in range]:", timer3.timeit(1000))
    42
    43 timer4 = Timer("t4()", "from __main__ import t4")
    44 print("list(range()):", timer4.timeit(1000))
    45
    46 timer5 = Timer("t5()", "from __main__ import t5")
    47 print("extend:", timer5.timeit(1000))
    48
    49
    50 def t6():
    51 li = []
    52 for i in range(10000):
    53 li.append(i)

    54
    55 def t7():
    56 li = []
    57 for i in range(10000):
    58 li.insert(0, i)
    59
    60 timer6 = Timer("t6()", "from __main__ import t6")
    61 print("append", timer6.timeit(1000))
    62
    63 timer7 = Timer("t7()", "from __main__ import t7")
    64 print("insert(0)", timer7.timeit(1000))

  • 相关阅读:
    C#异步编程
    3.TinkPHP中的模型
    Socket网络编程
    日志查看登录用户
    ssh相关的设置
    爬虫学习笔记
    python升级到3.*版本
    Redis未授权访问攻击过程与防范
    Linux重置MySQL密码
    linux下WordPress安装
  • 原文地址:https://www.cnblogs.com/lishuide/p/11495217.html
Copyright © 2020-2023  润新知