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

猜你喜欢

转载自www.cnblogs.com/lishuide/p/11495217.html