好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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))

查看更多关于2019.9.10-Python列表与字典操作的时间复杂度及效率的详细内容...

  阅读:19次