在读取dict的key和value时,如果key不存在,就会触发KeyError错误,如:t = {'a': '1','b': '2','c': '3',}print(t['d'])
就会出现:KeyError: 'd'
第一种解决方法:
利用 dict内置的 get(key[,default]) 方法,如果 key 存在,则返回其 value,否则返回 default;使用这个方法永远不会触发 KeyError,如:t = {
'a': '1',
'b': '2',
'c': '3',
}
print(t.get('d'))
输出:None
加上 default 参数:
t = {
'a': '1',
'b': '2',
'c': '3',
}
print(t.get('d', 'not exist'))
输出:not exist
第二种解决方法:
利用 dict 内置的 setdefault(key[,default]) 方法,如果 key 存在,则返回其 value; 否则插入此 key,其 value 为 default,并返回 default; 使用这个方法也永远不会触发 KeyError,如:t = {
'a': '1',
'b': '2',
'c': '3',
}
print(t.setdefault('d'))
输出:{'b': '2', 'd': None, 'a': '1', 'c': '3'}
加上 default 参数:
t = {
'a': '1',
'b': '2',
'c': '3',
}
print(t.setdefault('d', 'not exist'))
输出:{'c': '3', 'd': 'not exist', 'a': '1', 'b': '2'}