访问字典中某个‘键’时,若键不存在则会报错,比如
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‘ |
原文:https://www.cnblogs.com/zhouhuayin/p/12484602.html