日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中counter怎么用_带你走进python 计数器类Counter的用法

發布時間:2023/12/18 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中counter怎么用_带你走进python 计数器类Counter的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是Counter?

Counter 是一個在collections包里的類,正如其名,是一個用于計數的工具。

我們可以用Counter(nums)這樣的構造函數構造一個Counter類,其中nums是一個列表。

構造好的Counter實例可以看作一個字典,鍵是nums的每一項,值是它的出現次數。

如果上面的敘述讓你感到很混亂的話,我不妨舉個例子:

如果一個列表a = [1,1,3,4,3],你想要統計每項的出現次數,那么你使用b = Counter(a),那么這時候b就像一個這樣的字典{1:2,3:2,4:1},表示數字1出現了2次,數字3出現了2次,數字4出現了1次。

Counter函數的功能主要是計數器,特別是在對源數據是字典類型的數據進行計數時,如果不想寫冗長繁瑣的for循環,那么使用Counter函數將是一個不錯的選擇。

這里以一個簡單的計數場景來演示,假設我們有一組以顏色名稱和顏色數量為鍵值對的字典對象,我們需要對同一種顏色進行累計計數(字典中可能有多組同一顏色的鍵值對),看起來似乎只能使用笨笨的循環來進行操作了。colors = [{'red':4},{'blue':5},{'red':8},{'green':7},{'blue':8},{'blue':10},{'green':12}]

使用比較傳統的循環方法:result = {}

for i in colors:

if list(i.keys())[0] not in result:

result[list(i.keys())[0]] = list(i.values())[0]

else:

result[list(i.keys())[0]] += list(i.values())[0]

{'red': 12, 'blue': 23, 'green': 19}

如果這里使用collections標準庫中的Counter函數,則整個過程會無比簡單:

Counter函數:from collections import Counter

c = Counter()

for i in colors:

c[list(i.keys())[0]] += list(i.values())[0]

Counter({'blue': 23, 'green': 19, 'red': 12})

這里Counter容器實現了一個自動化的計數器,當Counter中不存在某個鍵時,賦值操作會自動創建一個新的鍵,而不是像方法一中那樣需要手動去判斷某個鍵是否已經存在在字典里面。

除此之外,Counter神奇的地方在于它有很多可以簡單調用的統計方法,比如我們想要獲取結果中正序/倒序的TOPN記錄,則可以直接這樣寫:c.most_common(2)[('blue', 23), ('green', 19)]

總結

以上是生活随笔為你收集整理的python中counter怎么用_带你走进python 计数器类Counter的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。