【Python】計數器 Counter
在瞭解 Counter 之前,請大家思考一個問題,現在有包含多個詞彙的列表:
list1 = ['red','green','red','blue','green','red']
該如何去統計列表中各詞彙出現的次數?
如果再深入一些,如何統計一本小說中,作者所用詞彙出現的次數?
Python 裡提供了一個優雅簡潔的解決方案:Counter
關於 Counter ,在官方文件中可以找到如下描述:
A Counter is a dict subclass for counting hashable objects. It is an unordered collection where elements are stored as dictionary keys and their counts are stored as dictionary values. Counts are allowed to be any integer value including zero or negative counts.
Counter 是 dict 的子類,是用於計數。它是一個無序的集合,其中元素儲存為字典鍵,其計數儲存為字典值。計數允許為包括零或負計數的任何整數值。
在 Python Shell 裡演示一下。初始化一個 Counter 物件的幾種方法:
初始化可迭代物件
>>> from collections import Counter >>> Counter('adffdsads') Counter({'d': 3, 'f': 2, 's': 2, 'a': 2})
初始化對映物件
>>> Counter({'red':1,'green':2}) Counter({'green': 2, 'red': 1})
初始化關鍵字引數物件
>>> Counter(cats=4,dogs=8) Counter({'dogs': 8, 'cats': 4})
Counter 是 dict 的子類,所以你可以放心地像 dict 一樣來使用它。具體可參考 【Python 第37課】 字典。
下面看個 Counter 的常用方法:
most_common(n)
返回一個列表,包含 n 個最常見的元素已經他們的計數,如果 n 為空,則返回所有元素。
>>> c = Counter('adffdsads') >>> c.most_common(3) [('d', 3), ('a', 2), ('f', 2)]
透過此方法,你就可以很方便地找出頻率最高的元素,省去了計數和排序的麻煩。
關於 Counter 就介紹到這裡。好記性不如爛筆頭,趕緊拿每期 每週一坑 裡的題目來練練手吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2146149/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python學習:counter計數Python
- Python計數:defaultdict和CounterPython
- Python程式設計:Counter計數器-dict字典的子類Python程式設計
- 如何使用python計數模組counter?Python
- Jmeter系列(34)- 詳解 Counter 計數器JMeter
- Jmeter——迴圈控制器中實現Counter計數器的次數重置JMeter
- python - Counter簡單使用Python
- python—collections模組(defaultdict、Counter、OrderedDict)Python
- Python中Collections.counter用法Python
- counter-reset、counter()和counter-increment用法REM
- Python中的collections.Counter模組Python
- python中collections.Counter是什麼?Python
- 【MySql】sql_slave_skip_counter引數的用法解析MySql
- 【MySql】sql_slave_skip_counter 引數的用法解析MySql
- B - Ticket Counter
- Decade counter
- 計數器
- Python enumerate():使用計數器簡化迴圈Python
- CSS裡的CounterCSS
- CSS3 counter()CSSS3
- Slow decade counter
- Counter 1-12
- Counter 1000
- css計數器CSS
- Python函數語言程式設計指南(3):迭代器Python函數程式設計
- sql_slave_skip_counterSQL
- Decade counter againAI
- Counter with period 1000
- 使用 CSS 計數器CSS
- 1(4)計數器
- CSS3 counter-resetCSSS3
- Four-bit binary counter
- CSS 計數器簡介CSS
- (八)定時計數器
- CSS中的計數器CSS
- Python裝飾器探究——裝飾器引數Python
- python計算對數值Python
- python-----------------numpy計數模組Python