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

歡迎訪問 生活随笔!

生活随笔

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

python

Python标准库collections模块的Counter类

發布時間:2025/1/21 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python标准库collections模块的Counter类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

collections模塊

collections模塊自Python 2.4版本開始被引入,包含了dict、set、list、tuple以外的一些特殊的容器類型,分別是:

OrderedDict類:排序字典,是字典的子類。引入自2.7。
namedtuple()函數:命名元組,是一個工廠函數。引入自2.6。
Counter類:為hashable對象計數,是字典的子類。引入自2.7。
deque:雙向隊列。引入自2.4。
defaultdict:使用工廠函數創建字典,使不用考慮缺失的字典鍵。引入自2.5。

Counter類

Counter類的目的是用來跟蹤值出現的次數。它是一個無序的容器類型,以字典的鍵值對形式存儲,其中元素作為key,其計數作為value。計數值可以是任意的Interger(包括0和負數)。Counter類和其他語言的bags或multisets很相似。

創建

下面的代碼說明了Counter類創建的四種方法:

>>> c = Counter() # 創建一個空的Counter類 >>> c = Counter('gallahad') # 從一個可iterable對象(list、tuple、dict、字符串等)創建 >>> c = Counter({'a': 4, 'b': 2}) # 從一個字典對象創建 >>> c = Counter(a=4, b=2) # 從一組鍵值對創建

計數值的訪問與缺失的鍵

當所訪問的鍵不存在時,返回0,而不是KeyError;否則返回它的計數。

>>> c = Counter("abcdefgab") >>> c["a"] 2 >>> c["c"] 1 >>> c["h"] 0

計數器的更新(update和subtract)

可以使用一個iterable對象或者另一個Counter對象來更新鍵值。
計數器的更新包括增加和減少兩種。其中,增加使用update()方法:

>>> c = Counter('which') >>> c.update('witch') # 使用另一個iterable對象更新 >>> c['h'] 3 >>> d = Counter('watch') >>> c.update(d) # 使用另一個Counter對象更新 >>> c['h'] 4

減少則使用subtract()方法:

>>> c = Counter('which') >>> c.subtract('witch') # 使用另一個iterable對象更新 >>> c['h'] 1 >>> d = Counter('watch') >>> c.subtract(d) # 使用另一個Counter對象更新 >>> c['a'] -1

鍵的刪除

當計數值為0時,并不意味著元素被刪除,刪除元素應當使用del。

>>> c = Counter("abcdcba") >>> c Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1}) >>> c["b"] = 0 >>> c Counter({'a': 2, 'c': 2, 'd': 1, 'b': 0}) >>> del c["a"] >>> c Counter({'c': 2, 'b': 2, 'd': 1})

elements()

返回一個迭代器。元素被重復了多少次,在該迭代器中就包含多少個該元素。元素排列無確定順序,個數小于1的元素不被包含。

>>> c = Counter(a=4, b=2, c=0, d=-2) >>> list(c.elements()) ['a', 'a', 'a', 'a', 'b', 'b']

most_common([n])

返回一個TopN列表。如果n沒有被指定,則返回所有元素。當多個元素計數值相同時,排列是無確定順序的。

>>> c = Counter('abracadabra') >>> c.most_common() [('a', 5), ('r', 2), ('b', 2), ('c', 1), ('d', 1)] >>> c.most_common(3) [('a', 5), ('r', 2), ('b', 2)]

淺拷貝 copy

>>> c = Counter("abcdcba") >>> c Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1}) >>> d = c.copy() >>> d Counter({'a': 2, 'c': 2, 'b': 2, 'd': 1})

算術和集合操作

+、-、&、|操作也可以用于Counter。其中&和|操作分別返回兩個Counter對象各元素的最小值和最大值。需要注意的是,得到的Counter對象將刪除小于1的元素。

>>> c = Counter(a=3, b=1) >>> d = Counter(a=1, b=2) >>> c + d # c[x] + d[x] Counter({'a': 4, 'b': 3}) >>> c - d # subtract(只保留正數計數的元素) Counter({'a': 2}) >>> c & d # 交集: min(c[x], d[x]) Counter({'a': 1, 'b': 1}) >>> c | d # 并集: max(c[x], d[x]) Counter({'a': 3, 'b': 2})

常用操作

下面是一些Counter類的常用操作,來源于Python官方文檔

sum(c.values()) # 所有計數的總數 c.clear() # 重置Counter對象,注意不是刪除 list(c) # 將c中的鍵轉為列表 set(c) # 將c中的鍵轉為set dict(c) # 將c中的鍵值對轉為字典 c.items() # 轉為(elem, cnt)格式的列表 Counter(dict(list_of_pairs)) # 從(elem, cnt)格式的列表轉換為Counter類對象 c.most_common()[:-n:-1] # 取出計數最少的n-1個元素 c += Counter() # 移除0和負值

原文地址:http://www.pythoner.com/205.html

總結

以上是生活随笔為你收集整理的Python标准库collections模块的Counter类的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 无码人妻精品一区二区三区不卡 | 国产精品视频一区二区三区, | 亚洲精品男人天堂 | 无码人妻精品一区二 | 长河落日电视连续剧免费观看 | 国产原创在线播放 | 色噜噜影院| 成人播放器| 天天看黄色片 | 亚洲一区二区电影网 | 免费操人视频 | 欧美精品成人一区二区三区四区 | 欧美日韩四区 | 手机在线不卡av | 亚洲国产日韩a在线播放性色 | 亚洲无人禁区 | 日韩精品极品 | 夜夜撸| 国产91沙发系列 | 欧美精品一区二区三区四区五区 | 秋霞网一区二区 | 99国产精品一区二区 | 久久在线 | jzjzjzjzj亚洲成熟少妇 | 香蕉视频在线免费播放 | 国产剧情在线视频 | 在线播放中文字幕 | 国产日产欧美 | 欧美黄一级 | 久久国产免费看 | 久久久wwww| 毛片av在线 | 日本做爰三级床戏 | 一区www| 玖玖在线资源 | 精品一区二区三区免费毛片爱 | 伦伦影院午夜理伦片 | 亚洲热久久 | 麻豆蜜桃91| 国产精品高清无码 | 99精品视频在线免费观看 | 一本色道久久88亚洲精品综合 | 欧美成年人 | 日韩簧片| 国产黄色网址在线观看 | a级片一级片 | 中文字幕在线官网 | 亚洲尹人 | 中文字幕蜜桃 | 性xxxx搡xxxxx搡欧美 | 成人av免费在线 | 亚洲产国偷v产偷v自拍涩爱 | 免费性爱视频 | 天天插天天爱 | 日韩美女网站 | 欧美视频成人 | 手机在线观看av网站 | 荡女精品导航 | 亚洲成人免费网站 | 青青草综合网 | 国产香蕉尹人视频在线 | 秋霞欧洲| 国产精品无码AV | 国产精品久久久久久人妻精品动漫 | 法国空姐 在线 | 啪网站| 嫩草伊人久久精品少妇av | 欧美精品一区二区三区在线播放 | 欧美激情久久久久久久 | 欧美一区二区三区婷婷月色 | 青青国产 | 日韩jizz | 亚洲精品激情视频 | 91不卡视频 | 中国黄色录像一级片 | 日本爽爽爽 | 国产精品久久久久国产a级 国产一区二区在线播放 | 久久久久久久久艹 | 日本黄页网址 | 伊人网址 | 亚洲综合站 | 黄色靠逼视频 | 亚洲欧美va天堂人熟伦 | 粉嫩av一区二区三区天美传媒 | 国内精品在线播放 | 在线免费看黄网站 | 免费av黄色 | 欧美偷拍精品 | 日韩av在线直播 | 色综合天天综合网国产成人网 | 无码内射中文字幕岛国片 | 久久久久久夜 | 丁香婷婷社区 | 日韩一区二区三区高清 | 欧美日韩一 | 国产伦理一区二区 | 色欧美88888久久久久久影院 | 亚洲av无码专区国产乱码不卡 | 成年人黄色av |