微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

分享图片

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐