最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python統(tǒng)計(jì)可散列的對象之容器Counter詳解

 更新時(shí)間:2021年05月18日 10:31:49   作者:李元靜  
Counter是一個(gè)容器,可以跟蹤等效值增加的次數(shù).這個(gè)類可以用來實(shí)現(xiàn)其他語言中常用包或多集合數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的算法.本篇文章非常詳細(xì)的介紹了容器Counter的使用方式,需要的朋友可以參考下

一、初始化Counter

Counter支持3種形式的初始化,比如提供一個(gè)數(shù)組,一個(gè)字典,或單獨(dú)鍵值對“=”式賦值。具體初始化的代碼如下所示:

import collections

a = collections.Counter(['a', 'a', 'b', 'b', 'b', 'c'])
b = collections.Counter({"a": 2, "b": 3, "c": 1})
c = collections.Counter(a=2, b=3, c=1)
print(a)
print(b)
print(c)

運(yùn)行之后,效果如下:

初始化

這種是直接通過構(gòu)造函數(shù)進(jìn)行填充。當(dāng)然,我們還可以直接構(gòu)造一個(gè)空Counter,然后通過update()函數(shù)進(jìn)行填充。

import collections

a = collections.Counter()
a.update(['a', 'a', 'b', 'b', 'b', 'c'])
print(a)

運(yùn)行效果和上面的a一樣,這里就不上圖了,感興趣的讀者自己測試運(yùn)行。

二、遍歷Counter

通過上面初始化以及更新,我們Counter容器中存在了很多的值。因?yàn)檩敵龅氖亲值涞男问?,所以我們可以直接通過字典的方式進(jìn)行訪問。

import collections

a = collections.Counter()
a.update(['a', 'a', 'b', 'b', 'b', 'c'])

for key in 'abcde':
    print(key, "=", a[key])

運(yùn)行之后,效果如下:

效果

可以看到容器Counter,可以輸出空值不報(bào)錯(cuò)。因?yàn)楫?dāng)我們沒有找到某個(gè)值時(shí),其默認(rèn)計(jì)數(shù)為0。

三、elements()

當(dāng)然,如果你想實(shí)現(xiàn)那種輸出沒有0值的遍歷??梢允褂胑lements()迭代器。具體代碼如下:

import collections

a = collections.Counter()
a.update('caabbbc')
print(list(a.elements()))

運(yùn)行之后,效果如下:

elements

需要注意的是,elements()雖然去除了0值,但并不能保證遍歷順序。

四、most_common

most_common()函數(shù)可以生成一個(gè)序列,統(tǒng)計(jì)包含n個(gè)最長遇到的輸入值以及相應(yīng)的計(jì)數(shù)。這里,我們來實(shí)現(xiàn)統(tǒng)計(jì)一個(gè)文檔中,字母出現(xiàn)的個(gè)數(shù)。具體代碼如下:

import collections

c = collections.Counter()
with open('英文文檔.txt', 'rt') as f:
    for line in f:
        c.update(line.rstrip().lower())
for letter, count in c.most_common(5):
    print("{}:{}".format(letter, count))

運(yùn)行之后,效果如下:

統(tǒng)計(jì)

這里統(tǒng)計(jì)的英文文檔中,空格最多,達(dá)到了658個(gè)。其他的一次都是前幾最多的個(gè)數(shù)。這樣我們可以通過Counter生成一個(gè)英文文檔中字母的頻度分布,在自然語言的處理當(dāng)中。就可以完美的結(jié)合起來進(jìn)行統(tǒng)計(jì)使用。

五、算數(shù)操作

Counter容器不僅可以統(tǒng)計(jì)頻度的分布。還可以進(jìn)行一些算數(shù)運(yùn)算。比如將兩個(gè)Counter容器進(jìn)行相加進(jìn)行統(tǒng)計(jì),亦或者相減也行。具體操作如下:

import collections

c1 = collections.Counter('abcbcabds')
c2 = collections.Counter('abcbcabds')
print("原始值:")
print(c1)
print(c2)
print("算數(shù)運(yùn)算后:")
print(c1 + c2)
print(c1 - c2)
print(c1 & c2)
print(c1 | c2)

運(yùn)行之后,效果如下:

算數(shù)運(yùn)算

到此這篇關(guān)于Python統(tǒng)計(jì)可散列的對象之容器Counter詳解的文章就介紹到這了,更多相關(guān)Python容器Counter內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用Paramiko控制linux第三方庫

    Python使用Paramiko控制linux第三方庫

    這篇文章主要介紹了Python使用Paramiko控制linux第三方庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python 繪圖庫 Matplotlib 入門教程

    Python 繪圖庫 Matplotlib 入門教程

    Matplotlib是一個(gè)Python語言的2D繪圖庫,它支持各種平臺,并且功能強(qiáng)大,能夠輕易繪制出各種專業(yè)的圖像。本文是對Python 繪圖庫 Matplotlib 入門教程,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-04-04
  • 在Python中分別打印列表中的每一個(gè)元素方法

    在Python中分別打印列表中的每一個(gè)元素方法

    今天小編就為大家分享一篇在Python中分別打印列表中的每一個(gè)元素方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 使用Python實(shí)現(xiàn)文字轉(zhuǎn)語音并生成wav文件的例子

    使用Python實(shí)現(xiàn)文字轉(zhuǎn)語音并生成wav文件的例子

    今天小編就為大家分享一篇使用Python實(shí)現(xiàn)文字轉(zhuǎn)語音并生成wav文件的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python爬取網(wǎng)頁版QQ空間,生成各類圖表

    python爬取網(wǎng)頁版QQ空間,生成各類圖表

    最近python課程學(xué)完了,琢磨著用python點(diǎn)什么東西,經(jīng)過一番搜索,盯上了QQ空間,本文主要講述了如何爬取網(wǎng)頁版QQ空間,并生成詞云圖、柱狀圖、折線圖、餅圖的各種示例代碼
    2021-06-06
  • Flask模板引擎之Jinja2語法介紹

    Flask模板引擎之Jinja2語法介紹

    這篇文章主要介紹了Flask模板引擎之Jinja2語法介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python grpc超時(shí)機(jī)制代碼示例

    Python grpc超時(shí)機(jī)制代碼示例

    這篇文章主要介紹了Python grpc超時(shí)機(jī)制代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python3.5裝飾器原理及應(yīng)用實(shí)例詳解

    Python3.5裝飾器原理及應(yīng)用實(shí)例詳解

    這篇文章主要介紹了Python3.5裝飾器原理及應(yīng)用,結(jié)合具體實(shí)例形式詳細(xì)分析了Python3.5裝飾器的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • python庫安裝與使用示例詳解

    python庫安裝與使用示例詳解

    這篇文章主要介紹了Python中的生成器函數(shù)yield、openslide庫、ASAP庫、concurrent.futures.ThreadPoolExecutor、xml.etree.ElementTree庫、skimage庫和PIL.Image庫的相關(guān)知識,感興趣的朋友一起看看吧
    2025-02-02
  • TensorFlow自定義損失函數(shù)來預(yù)測商品銷售量

    TensorFlow自定義損失函數(shù)來預(yù)測商品銷售量

    這篇文章主要介紹了TensorFlow自定義損失函數(shù)——預(yù)測商品銷售量,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評論

镇雄县| 望江县| 响水县| 罗城| 洪雅县| 辰溪县| 南溪县| 乡城县| 卓尼县| 介休市| 宁强县| 区。| 吴旗县| 镇安县| 娱乐| 双江| 咸宁市| 文登市| 四平市| 琼中| 项城市| 张掖市| 砀山县| 平山县| 乳山市| 图木舒克市| 嘉祥县| 甘泉县| 陈巴尔虎旗| 慈利县| 宁陕县| 金山区| 饶河县| 资兴市| 云阳县| 钟祥市| 惠东县| 即墨市| 宜宾县| 樟树市| 建瓯市|