访问字典中某个‘键’时,若键不存在则会报错,比如

>>> 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'

 

posted on 2018-08-30 16:37  望月又一  阅读(4787)  评论(0编辑  收藏  举报