dict的第一個特色是查找速度快,不管dict有10個元素仍是10萬個元素,查找速度都同樣。而list的查找速度隨着元素增長而逐漸降低。python
不過dict的查找速度快不是沒有代價的,dict的缺點是佔用內存大,還會浪費不少內容,list正好相反,佔用內存小,可是查找速度慢。spa
因爲dict是按 key 查找,因此,在一個dict中,key不能重複。code
dict的第二個特色就是存儲的key-value序對是沒有順序的!對象
d = { 'Jack': 95, 'Lisa': 85, 'Bart': 59 }
dict的第三個特色是做爲 key 的元素必須不可變,Python的基本類型如字符串、整數、浮點數都是不可變的,均可以做爲 key。可是list是可變的,就不能做爲 key。內存
不可變這個限制僅做用於key,value是否可變無所謂:字符串
{ '123': [1, 2, 3], # key 是 str,value是list 123: '123', # key 是 int,value 是 str ('a', 'b'): True # key 是 tuple,而且tuple的每一個元素都是不可變對象,value是 boolean }
最經常使用的key仍是字符串,由於用起來最方便。for循環
因爲dict也是一個集合,因此,遍歷dict和遍歷list相似,均可以經過 for 循環實現。class
直接使用for循環能夠遍歷 dict 的 key:循環
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } for key in d: print key