1. 程式人生 > 實用技巧 >python中defaultdict用法詳解

python中defaultdict用法詳解

認識defaultdict:

當我使用普通的字典時,用法一般是dict={},新增元素的只需要dict[element] =value即,呼叫的時候也是如此,dict[element] = xxx,但前提是element字典裡,如果不在字典裡就會報錯,如:

這時defaultdict就能排上用場了,defaultdict的作用是在於,當字典裡的key不存在但被查詢時,返回的不是keyError而是一個預設值,這個預設值是什麼呢,下面會說.

如何使用defaultdict

defaultdict接受一個工廠函式作為引數,如下來構造:

dict =defaultdict( factory_function)
這個factory_function可以是list、set、str等等,作用是當key不存在時,返回的是工廠函式的預設值,比如list對應[ ],str對應的是空字串,set對應set( ),int對應0,如下舉例:
from collections import defaultdict

dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
dict1[2] ='two'

print(dict1[1])
print(dict2[1])
print(dict3[1])
print(dict4[1])

0
set()

[]

還如:

self.q_table = defaultdict(lambda: [0.0, 0.0, 0.0, 0.0])