亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您如何處理代碼中的不同 KeyError

您如何處理代碼中的不同 KeyError

慕妹3146593 2022-10-06 17:04:59
假設我的字典可以有 3 個不同的鍵值對。我如何使用 if 條件處理不同的 KeyError。比方說。Dict1 = {'Key1':'Value1,'Key2':'Value2','Key3':'Value3'}現在如果我嘗試 Dict1['Key4'],它將通過我 KeyError: 'Key4',我想處理它except KeyError as error:     if str(error) == 'Key4':        print (Dict1['Key3']     elif str(error) == 'Key5':        print (Dict1['Key2']     else:        print (error)它沒有在 if 條件下被捕獲,它仍然進入 else 塊。
查看完整描述

3 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

Python KeyErrors 比所使用的鍵長得多。您必須檢查是否"Key4"在錯誤中,而不是檢查它是否等于錯誤:


except KeyError as error:

     if 'Key4' in str(error):

        print (Dict1['Key3'])

     elif 'Key5' in str(error):

        print (Dict1['Key2'])

     else:

        print (error)


查看完整回答
反對 回復 2022-10-06
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

您還可以使用簡單的方法:


dict1 = {'Key1' : 'Value1', 'Key2': 'Value2', 'Key3': 'Value3' }


key4 = dict1['Key4'] if 'Key4' in dict1 else dict1['Key3']

key5 = dict1['Key5'] if 'Key5' in dict1 else dict1['Key2']


查看完整回答
反對 回復 2022-10-06
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

dict.get()如果鍵不存在,您也可以使用為您提供默認值:


dict1 = {'Key1' : 'Value1', 'Key2': 'Value2', 'Key3': 'Value3' }


print(dict1.get('Key4', dict1.get('Key3')))

# Value3


print(dict1.get('Key4', dict1.get('Key2')))

# Value2

文檔

如果鍵在字典中,則返回鍵的值,否則返回默認值。如果未給出默認值,則默認為 None,因此此方法永遠不會引發KeyError


查看完整回答
反對 回復 2022-10-06
  • 3 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號