Python之訪問dict
阿新 • • 發佈:2019-02-16
我們已經能建立一個dict,用於表示名字和成績的對應關係:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
那麼,如何根據名字來查詢對應的成績呢?
可以簡單地使用 d[key] 的形式來查詢對應的 value,這和 list 很像,不同之處是,list 必須使用索引返回對應的元素,而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就返回對應的value。如果key不存在,會直接報錯:KeyError。
要避免 KeyError 發生,有兩個辦法:
一是先判斷一下 key 是否存在,用 in 操作符:
if 'Paul' in d: print d['Paul']
如果 'Paul' 不存在,if語句判斷為False,自然不會執行 print d['Paul'] ,從而避免了錯誤。
二是使用dict本身提供的一個 get 方法,在Key不存在的時候,返回None:
>>> print d.get('Bart') 59 >>> print d.get('Paul') None