轉載自:http://blog.csdn.net/wzgbm/article/details/54691615
首先給一個簡單的例子,測測list和dict查找的時間:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
運行結果:
list search time : 11.836798
dict search time : 0.000007
通過上例我們可以看到list的查找效率遠遠低於dict的效率,原因如下:
Python中list對象的存儲結構采用的是線性表,因此其查詢復雜度為O(n),而dict對象的存儲結構采用的是散列表(hash表),其在最優情況下查詢復雜度為O(1)。