6
在創建defaultdict(調用不存在的密鑰時返回的值)時,是否有方法更改default_factory?*在初始化後更改defaultdict *的默認返回值
例如,創建了一個defaultdict如
d = defaultdict(lambda:1)
時,d
將返回1,每當不存在的鍵如d['absent']
被調用。這個初始定義如何將此默認值更改爲之後的另一個值(例如2)?
在創建defaultdict(調用不存在的密鑰時返回的值)時,是否有方法更改default_factory?*在初始化後更改defaultdict *的默認返回值
例如,創建了一個defaultdict如
d = defaultdict(lambda:1)
時,d
將返回1,每當不存在的鍵如d['absent']
被調用。這個初始定義如何將此默認值更改爲之後的另一個值(例如2)?
將新值分配給defaultdict的default_factory
屬性。
該屬性用於通過
__missing__()
方法; 如果存在 ,則從第一個參數初始化爲構造函數,如果不存在,則初始化爲None
。
演示:
>>> dic = defaultdict(lambda:1)
>>> dic[5]
1
>>> dic.default_factory = lambda:2
>>> dic[100]
2
真棒,謝謝! –