具有預設值的字典

可作為 defaultdict 在標準庫中使用

from collections import defaultdict

d = defaultdict(int)
d['key']                         # 0
d['key'] = 5
d['key']                         # 5

d = defaultdict(lambda: 'empty')
d['key']                         # 'empty'
d['key'] = 'full'
d['key']                         # 'full'

[*]或者,如果你必須使用內建的 dict 類,using dict.setdefault() 將允許你在訪問之前不存在的金鑰時建立預設值:

>>> d = {}
{}
>>> d.setdefault('Another_key', []).append("This worked!")
>>> d
{'Another_key': ['This worked!']}

請記住,如果要新增許多值,dict.setdefault() 將在每次呼叫時建立初始值的新例項(在此示例中為 []) - 這可能會產生不必要的工作負載。

[*] Python Cookbook,第 3 版,David Beazley 和 Brian K. Jones(O’Reilly)。版權所有 2013 David Beazley 和 Brian Jones,978-1-449-34037-7。