我們已經(jīng)能創(chuàng)建一個dict,用于表示名字和成績的對應(yīng)關(guān)系:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
那么缝驳,如何根據(jù)名字來查找對應(yīng)的成績呢炒辉?
可以簡單地使用 d[key] 的形式來查找對應(yīng)的 value撮竿,這和 list 很像,不同之處是骆姐,list 必須使用索引返回對應(yīng)的元素镜粤,而dict使用key:
>>> print d['Adam']
95
>>> print d['Paul']
Traceback (most recent call last):
File "index.py", line 11, in <module>
print d['Paul']
KeyError: 'Paul'
注意: 通過 key 訪問 dict 的value,只要 key 存在玻褪,dict就返回對應(yīng)的value肉渴。如果key不存在,會直接報錯:KeyError带射。
要避免 KeyError 發(fā)生同规,有兩個辦法:
一是先判斷一下 key 是否存在,用 in 操作符:
if 'Paul' in d:
print d['Paul']
如果 'Paul' 不存在,if語句判斷為False券勺,自然不會執(zhí)行 print d['Paul'] 绪钥,從而避免了錯誤。
二是使用dict本身提供的一個 get 方法关炼,在Key不存在的時候程腹,返回None:
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
任務(wù)
根據(jù)如下dict:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
請打印出:
Adam: 95
Lisa: 85
Bart: 59