defaultdict列表中的增量计数

时间:2017-09-26 06:04:03

标签: python

如何增加列表的defaultdict中的计数,如

import collections
dict = collections.defaultdict(list)

dict["i"][0]+=1会抛出类型错误。

我期待dict像

{"i":[1,]}

为此而不是使用任何循环语句的任何有效方法?

3 个答案:

答案 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