1. 程式人生 > >Python中dict的特點

Python中dict的特點

dict的第一個特點是查詢速度快,無論dict有10個元素還是10萬個元素,查詢速度都一樣。而list的查詢速度隨著元素增加而逐漸下降。

不過dict的查詢速度快不是沒有代價的,dict的缺點是佔用記憶體大,還會浪費很多內容,list正好相反,佔用記憶體小,但是查詢速度慢。

由於dict是按 key 查詢,所以,在一個dict中,key不能重複

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還是字串,因為用起來最方便。

Python之 遍歷dict

由於dict也是一個集合,所以,遍歷dict和遍歷list類似,都可以通過 for 迴圈實現。

直接使用for迴圈可以遍歷 dict 的 key:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
for key in d:
    print key