【Python教學】判斷key是否存在的2個方法:in和get()-避免字典物件KeyError

一、KeyError範例說明

在用key值取得value的時候,如果key值不存在於字典(dictionary)物件當中,就會發生KeyError。

例如,我們建立一個apple的字典物件,設定name和color兩個key值與對應的屬性。這時候如果我們嘗試取出price這個key值對應的資料值,因為price不在apple物件當中,就會發生KeyError

apple = { 'name':'apple' , 'color':'yellow' }
apple['price']
python-KeyError範例
python-KeyError範例

二、判斷key是否存在的2個方法

(一)方法一:使用in來判斷

  1. keys()來取得該字典的所有key值,例如apple.keys()
  2. 判斷特定key值是否在其中,例如 ‘price’ in apple.keys()
if 'price' in apple.keys():
    print( apple['price'] )

(一)方法二:使用get來判斷

get()方法跟直接用中括號指定key值類似,都可以拿到該key值對應的資料,不過get()方法可以指定如果key不存在時要回傳的值

dict.get(key, default = None)
key : 要取得的key值
第二個值 : 如果key不存在時要做的處理,可以指定文字,若key值不存在會回傳文字

以剛剛的apple為例,如果該key值不存在的時候指定為’key not exist’,這時候就不會直接回報KeyError,而是會回傳我們指定的這段文字。

apple.get('price' , 'key not exist')
結果 :
'key not exist'

小額支持鍾肯尼

如果我的文章有幫助到你,歡迎你點這裡開啟只要40元的小額贊助連結,可以贊助我一杯咖啡錢;我會更有動力繼續寫作,幫助大家解決更多問題。

發佈留言