訪問字典中某個‘鍵’時,若鍵不存在則會報錯,比如
>>> dic = {'a' : 1}
>>> dic['b']
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
dic['b']
KeyError: 'b'
如果不想報錯,可以給字典設置默認值。即當鍵存在時,返回鍵對應的值;鍵不存在時,返回默認值:
1 字典自帶的 setdefault 函數
>>>dic = {'a' : 1} #此時訪問 dic['b'] 會報錯,因為dic不存在鍵 ‘b’ #設置默認值 >>> dic.setdefault('b', 2) >>> dic['b'] >>> 2
2 collections 模塊的 defaultdict 函數
>>> from collections import defaultdict >>> dic = defaultdict(int) >>> dic['a'] >>> 0
# dic = defaultdict(int) 該式中的int 可以替換為 str flaot等。
# 為 int 時的默認值為 0
# 為 str 時的默認值為 ''
#若想設置默認值為一給定的值 比如 'oppo' 則如下
>>> dic = defaultdict(lambda : 'oppo')
>>> dic['a']
>>> 'oppo'