![](/img/trans.png)
[英]For a list of lists, merge the dictionaries with collections.defaultdict
[英]python collections.defaultdict with list of length two
我有一種情況,一個鍵將有兩個值,將在程序期間更新。 更加公然,從空字典d = {}開始,我想做一些這樣的事情: d[a][0] += 1
或d[a][1] += 1
其中a是浮點型在程序運行時也可以找到它。 我可以做一些d = defaultdict(list([0,0]))
(這會給出錯誤)。我希望字典中的默認值是兩個元素的列表。 我該怎么做呢?
只需閱讀文檔 :
如果
default_factory
不是None,則不帶參數調用它以提供給定鍵的默認值,此值將插入鍵的字典中並返回。
也就是說,defaultdict的參數不是默認值,它是一個被調用以產生默認值的函數。 所以這樣做:
defaultdict(lambda: [0,0])
(沒有必要明確使用list([0,0])
。 [0,0]
已經是一個列表。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.