Python KeyError -- 常用解決辦法


當訪問不在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:

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

 

 

參考:https://www.polarxiong.com/archives/Python-%E6%93%8D%E4%BD%9Cdict%E6%97%B6%E9%81%BF%E5%85%8D%E5%87%BA%E7%8E%B0KeyError%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E6%B3%95.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM