[英]Increment count on defaultdict list
如何在列表的defaultdict
中增加計數,例如
import collections
dict = collections.defaultdict(list)
dict["i"][0]+=1
拋出類型錯誤。
我期待 dict 像
{"i":[1,]}
任何有效的方法而不是使用任何循環語句?
import collections
s = collections.defaultdict(lambda: [0])
s['i'][0] += 1
您需要從字典中檢索項目,然后附加到它
d = collections.defaultdict(list)
d['i'].append(1)
>>> d
defaultdict(<type 'list'>, {'i': [1]})
也不要使用dict作為變量名,它用於構造 dicts。
>>> type(dict)
<type 'type'>
您可以使用集合中的Counter
from collections import Counter
c = Counter()
sample_list = ['a','b','c','a','b','d','e','b']
for l in sample_list:
c[l] += 1
現在變量c將給出以下內容,
>>>Counter({'a': 2, 'b': 3, 'c': 1, 'd': 1, 'e': 1})
您可以按如下方式獲取每個元素的計數:
c['a']
>>>2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.