访问字典中某个‘键’时,若键不存在则会报错,比如
|
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