當前位置:成語大全網 - 新華字典 - python 字典和元組遍歷速度哪個快

python 字典和元組遍歷速度哪個快

當然是元組了,元組就相當於數組,直接按照索引去取元素。而字典是按照key去取元素(類似於hash表),速度當然比不上元組了。下面的測試可以提供壹些直觀的感覺。

$?python?-m?timeit?-s?'a?=?dict(a=12,?b=13,?c=14)'?'for?k,v?in?a.items():'?'?pass'

1000000?loops,?best?of?3:?0.391?usec?per?loop

$?python?-m?timeit?-s?'a?=?(12,?13,?14)'?'for?v?in?a:'?'?pass'

10000000?loops,?best?of?3:?0.12?usec?per?loop

可以看到遍歷同樣是三個元素的dict的時間大致上是tuple的3倍左右。 (實際上這個時間包括了創建 dict 和 tuple 的時間,創建dict的時間也是要大於創建tuple的時間的,這裏就不細分了,總之,dict的創建、訪問時間壹定是大於tuple的)

但是在python中,dict是做過極度優化的,其效率已經非常高了,因為在python中它的使用實在是太廣了。所以在實際編程中,壹般我們只根據實際需求來考慮使用什麽數據結構 (dict, list, set, tuple),而不是根據不同數據結構的訪問速度差別。