當訪問不在dict中的鍵時會引發KeyError錯誤
解決辦法:
1. 使用之前先判斷key是否存在,然后才進行下一步操作,如:
t = { 'a': '1', 'b': '2', 'c': '3', } if 'd' in t: print(t['d']) else: print('not exist')
2. 使用dict
內置的get(key[,default])
方法,如果key
存在,則返回其value,
否則返回default,使用這個方法永遠不會觸發KeyError:
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')) print(t) 結果: not exist {'a': '1', 'c': '3', 'b': '2'}
3. 利用dict
內置的setdefault(key[,default])
方法,如果key
存在,則返回其value;
否則插入此key
,其value
為,並返回default
;使用這個方法也永遠不會觸發KeyError
,如:
t = { 'a': '1', 'b': '2', 'c': '3', } print(t.setdefault('d')) print(t) 結果: None {'b': '2', 'd': None, 'a': '1', 'c': '3'}
設定default
參數:
t = { 'a': '1', 'b': '2', 'c': '3', } print(t.setdefault('d', 'not exist')) print(t) 結果: not exist {'c': '3', 'd': 'not exist', 'a': '1', 'b': '2'}