位置:首頁 > 軟件操作教程 > 編程開發(fā) > Python > 問題詳情

在python里,dict的特點

提問人:楊紫紅發(fā)布時間:2020-11-26
dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素,查找速度都一樣。而list的查找速度隨著元素增加而逐漸下降。
不過dict的查找速度快不是沒有代價的,dict的缺點是占用內存大,還會浪費很多內容,list正好相反,占用內存小,但是查找速度慢。
由于dict是按 key 查找,所以,在一個dict中,key不能重復。

dict的第二個特點就是存儲的key-value序對是沒有順序的!這和list不一樣:
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
當我們試圖打印這個dict時:
>>> print d
{'Lisa': 85, 'Adam': 95, 'Bart': 59}
打印的順序不一定是我們創(chuàng)建時的順序,而且,不同的機器打印的順序都可能不同,這說明dict內部是無序的,不能用dict存儲有序的集合。

dict的第三個特點是作為 key 的元素必須不可變,Python的基本類型如字符串、整數(shù)、浮點數(shù)都是不可變的,都可以作為 key。但是list是可變的,就不能作為 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還是字符串,因為用起來最方便。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部