處理 Python 字典中缺少的鍵

| | | | | | | | | | | | | | | | | | | |

# 展示字典的 Python 代碼和
# 缺失value error


# 初始化字典

d = { `a` : 1 , ` b` : 2 }


# 試圖顯示缺失鍵的值

print ( "與`c`關聯的值為:" )

打印(d[ ` c` ])

錯誤:

Traceback(最近一次調用最後一次):文件“46a9aac96614587f5b794e451a8f4f5f.py”,第 9 行,打印中(d [`c`])KeyError:`c` 

In上面的例子,字典中沒有名為“c”的鍵沒有給出運行時錯誤。為避免此類情況並提醒用戶缺少特定鍵或向該位置發送默認消息,有幾種方法可以處理丟失的鍵。

方法 1:使用 get()

get (key, def_val) 方法在我們需要驗證密鑰時很有用。如果鍵存在,則打印與鍵關聯的值,否則返回參數傳入的 def_value。

方法二:使用 setdefault()

setdefault(key, def_value) 的作用類似於 get(),但不同的是,每次 key 缺失時,都會創建一個新的 key ,其 def_value 與鍵傳遞給參數。

要實現上述功能,請單擊此處的Defaultdict " —它是一個容器,定義在一個名為“collection ”的模塊。它接受一個函數(默認工廠)作為參數。默認是工廠默認設置為“int”,即是,0 。如果 key 缺失 — defaultdict,返回 並且 default 默認顯示。它優先於 get() 或 setdefault()。

# Python代碼演示defaultdict


#import"收藏品對於 defaultdict

import 集合


# 默認聲明
# 為缺少的鍵設置默認值“Key not found”

defd = 集合。 defaultdict ( lambda : `Key Not found` )


#初始化值​​

defd [ `a` ] = 1


#初始化值

defd [ `b` ] = 2


# 打印值

print ( "與`a`關聯的值為:" , end = "")

print (defd [ `a` ])


# 打印與 ' 關聯的值'

print ( "關聯的值`c` 是:“ , end = " ")

print ( defd [ `c` ])

輸出:

與`a`關聯的值為:1 與`c`關聯的值為:Key Not found 

本文由 Manjeet Singh 。如果你是 Python.Engineering 並且想投稿,你也可以使用 contribute.python.engineering 寫一篇文章或發表一篇文章貢獻@python.engineering。在 Python.Engineering 主頁上查看我的文章並幫助其他極客。

如果您發現任何錯誤或想要分享有關上述主題的更多信息,請發表評論。