當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python collections.Counter用法及代碼示例


用法:

class collections.Counter([iterable-or-mapping])

Counter 是用於計算可散列對象的 dict 子類。它是一個集合,其中元素存儲為字典鍵,它們的計數存儲為字典值。計數可以是任何整數值,包括零計數或負計數。 Counter 類類似於其他語言中的bags 或multisets。

元素從 iterable 計數或從另一個 mapping(或計數器)初始化:

>>> c = Counter()                           # a new, empty counter
>>> c = Counter('gallahad')                 # a new counter from an iterable
>>> c = Counter({'red': 4, 'blue': 2})      # a new counter from a mapping
>>> c = Counter(cats=4, dogs=8)             # a new counter from keyword args

計數器對象有一個字典接口,除了它們為丟失的項目返回零計數而不是引發 KeyError

>>> c = Counter(['eggs', 'ham'])
>>> c['bacon']                              # count of a missing element is zero
0

將計數設置為零不會從計數器中刪除元素。使用 del 將其完全刪除:

>>> c['sausage'] = 0                        # counter entry with a zero count
>>> del c['sausage']                        # del actually removes the entry

3.1 版中的新函數。

在 3.7 版中更改:作為一個dict子類,collections.Counter繼承了記住插入順序的能力。數學運算Counter對象也保持秩序。結果是根據第一次在左操作數中遇到元素的時間排序的,然後按照在右操作數中遇到的順序排序。

Counter 對象支持所有字典可用的方法之外的其他方法:

常用的字典方法可用於Counter 對象,但對於計數器的工作方式不同的兩種方法除外。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 collections.Counter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。