访问字典中某个‘键’时,若键不存在则会报错,比如
1 2 3 4 5 6 |
>>> dic = { 'a' : 1 }
>>> dic[ 'b' ]
Traceback (most recent call last):
File "<pyshell#24>" , line 1 , in <module>
dic[ 'b' ]
KeyError: 'b'
|
如果不想报错,可以给字典设置默认值。即当键存在时,返回键对应的值;键不存在时,返回默认值:
1 字典自带的 setdefault 函数
1 2 3 4 5 6 7 |
>>>dic = { 'a' : 1 }
#此时访问 dic['b'] 会报错,因为dic不存在键 ‘b’
#设置默认值
>>> dic.setdefault( 'b' , 2 )
>>> dic[ 'b' ]
>>> 2
|
2 collections 模块的 defaultdict 函数
1 2 3 4 |
>>> from collections import defaultdict
>>> dic = defaultdict( int )
>>> dic[ 'a' ]
>>> 0 <br> # dic = defaultdict(int) 该式中的int 可以替换为 str flaot等。<br># 为 int 时的默认值为 0<br># 为 str 时的默认值为 ''<br><br>#若想设置默认值为一给定的值 比如 'oppo' 则如下<br>>>> dic = defaultdict(lambda : 'oppo')<br>>>> dic['a']<br>>>> 'oppo'
|