在Python中。我们一般对于字典取值会有dict[key]的方法取值,但是如果键key不存在,则会出现报错
例如:
>>>a = {'one':1,'two':2,'three':3}
>>>a['one']
1
>>>a['four']
Traceback (most recent call last):
File "" , line 1, in <module>
KeyError: 'four
因为 dict[key] 的方式在无法判断是否存在 key 的情况下会出现 KeyError ,所以 可以使用dict.get(key[,default]) 的方法。
dict.get(key[,default]) 会查询字典中的key键,要是存在key键,则返回key键的值,要是没有key键,则返回 default, 若是没有 default,则返回 None。
例如:
>>> a.get('four') # 返回None
>>> a.get('four','can not find four') # 返回default
'can not find four'
>>>a # 使用dict.get()后dict不变
{'one':1,'two':2,'three':3}
如果我们希望在获取字典中某个键的值,如果该键不存在,则为字典添加键值对,此时就可以用·**dict.setdefault(key[,default])**方法
dict.setdefault(key[,default]) 表示:如果dict中存在key,则返回key的值, 如果不存在key,则返回default的值,并且在dict中增加 key: default 键值对,如果 default 不存在,则在dict增加 key:None 的键值对。
例如
>>>a
{'one':1,'two':2,'three':3}
>>> a.setdefault('four',4) #a 没有 'four'键,返回default, a 增加'four':4键值对
4
>>> a
{'one': 1, 'two': 2, 'three': 3, 'four': 4}
>>> a.setdefault('five') # a没有'five'键,没有default,返回None,a增加'five':None键值对
>>> a
{'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': None}
>>> a.setdefault('one')
1
>>> a
{'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': None}