2017-09-26 34 views
-3

指望如何增加計數以列表defaultdict增量defaultdict名單

import collections 
dict = collections.defaultdict(list) 

dict["i"][0]+=1拋出類型錯誤。

我期待的字典要像

{"i":[1,]} 

任何有效的方法,這不是使用任何循環語句?

+0

添加您嘗試過的代碼片段 –

回答

0
import collections 

s = collections.defaultdict(lambda: [0]) 

s['i'][0] += 1 
0

您需要來檢索字典的項目,然後追加到它

d = collections.defaultdict(list) 
d['i'].append(1) 

>>> d 
defaultdict(<type 'list'>, {'i': [1]}) 

也不要使用字典作爲一個變量名,它被用來構造類型的字典。

>>> type(dict) 
<type 'type'> 
0

您可以使用計數器從收藏

from collections import Counter 
c = Counter() 
sample_list = ['a','b','c','a','b','d','e','b'] 
for l in sample_list: 
    c[l] += 1 

現在變量Ç將給予以下,

>>>Counter({'a': 2, 'b': 3, 'c': 1, 'd': 1, 'e': 1}) 

你可以得到每個元素的數量如下:

c['a'] 
>>>2