如何增加列表的defaultdict
中的计数,如
import collections
dict = collections.defaultdict(list)
dict["i"][0]+=1
会抛出类型错误。
我期待dict像
{"i":[1,]}
为此而不是使用任何循环语句的任何有效方法?
答案 0 :(得分:0)
import collections
s = collections.defaultdict(lambda: [0])
s['i'][0] += 1
答案 1 :(得分:0)
您需要从字典中检索该项目,然后附加到该
d = collections.defaultdict(list)
d['i'].append(1)
>>> d
defaultdict(<type 'list'>, {'i': [1]})
也不要使用 dict 作为变量名称,它用于构建dicts。
>>> type(dict)
<type 'type'>
答案 2 :(得分: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
现在变量 c 将提供以下内容,
>>>Counter({'a': 2, 'b': 3, 'c': 1, 'd': 1, 'e': 1})
您可以按如下方式获取每个元素的计数:
c['a']
>>>2