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