Dictionary 字典
在list時,我們可以透過index去access值,但是list的index永遠都是整數,那麼如果要用list紀錄每個學生的成績,那麼我們就要建立兩個list,分別是name與grade,但如此一來非常不方便。因此,我們要使用dictionary,一種index可以是任何物件的資料結構,而我們在此會稱其為key。dictionary實質上就是任意key跟value的對應關係。
宣告一個dictionary
>>> empty_grade = {}
>>> grade = {"Rilak" : 100, "Achin" : 101, "MuQ" : 99}
在上面,我們宣告了兩個dictionary,分別是empty_grade
跟grade
,而在grade
內,我們宣告了一個含值的dictionary,我們用:
代表key跟value的關係,而用,
來區分每個對應關係。
>>> type(empty_grade)
dict
>>> len(grade)
3
>>> print(grade)
{'Rilak' : 100, "Achin" : 101, "MuQ" : 99}
索引 [ index ]
與list相同,我們可以透過key來取得value,也可以透過key改變value。
>>> print(grade["Rilak"])
100
>>> print(grade["hortune"])
KeyError: 'hortune'
>>> grade["Rilak"] = 87
>>> print(grade["Rilak"])
87
在上面的例子中,我們展示了如何透過key取值跟改變值,也發現如果key沒有對應的值,會跳出KeyError
。
那麼要怎麼確認Key存在於dictionary裡面呢?
>>> if "hortune" in grade:
print("QAQ")
QAQ
我們透過in
判斷"hortune"
這個字串是否在grade裡面,而這個只會檢查"hortune"
是否出現在key,不會判斷"hortune"
出現在value裡。