簡體   English   中英

增加 defaultdict 列表的計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM