1、Pythonic的計數方法----collections.Counter。
看例子:
>>> from collections import Counter
>>> test_data = ['a','2',2,4,5,'2','b',4,7,'a',5,'d','a','z']
>>> print Counter(test_data)
Counter({'a': 3, 4: 2, 5: 2, '2': 2, 2: 1, 'b': 1, 7: 1, 'z': 1, 'd': 1})
Counter 類是自 Python2.7 起增加的,屬于字典類的子類,是一個容器對象,主要用來統計散列對象,支援集合操作 +、-、&、|,其中 & 和 | 操作分别傳回兩個 Counter 對象各元素
的最小值和最大值。
可以使用 elements() 方法來擷取 Counter 中的 key 值。
>>> list(Counter(some_data).elements())
['a', 'a', 'a', 2, 'b', 4, 4, 5, 5, 7, '2', '2', 'z', 'd']
利用 most_common() 方法可以找出前 N 個出現頻率最高的元素以及它們對應的次數。
>>> Counter(some_data).most_common(2)
[('a', 3), (4, 2)]
當通路不存在的元素時,預設傳回為 0 而不是抛出 KeyError 異常。
>>> (Counter(some_data))['y']
update() 方法用于被統計對象元素的更新,原有 Counter 計數器對象與新增元素的統計
計數值相加而不是直接替換它們。
subtract() 方法用于實作計數器對象中元素統計值相減,輸入和輸出的統計值允許為 0 或
者負數。