91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python的Counter容器怎么使用

發布時間:2022-02-21 15:03:20 來源:億速云 閱讀:215 作者:iii 欄目:開發技術

這篇“Python的Counter容器怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python的Counter容器怎么使用”文章吧。

一、初始化Counter

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

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)

這種是直接通過構造函數進行填充。當然,我們還可以直接構造一個空Counter,然后通過update()函數進行填充。

import collections

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

二、遍歷Counter

通過上面初始化以及更新,我們Counter容器中存在了很多的值。因為輸出的是字典的形式,所以我們可以直接通過字典的方式進行訪問。

import collections

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

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

可以看到容器Counter,可以輸出空值不報錯。因為當我們沒有找到某個值時,其默認計數為0。

三、elements()

當然,如果你想實現那種輸出沒有0值的遍歷。可以使用elements()迭代器。具體代碼如下:

import collections

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

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

四、most_common

most_common()函數可以生成一個序列,統計包含n個最長遇到的輸入值以及相應的計數。這里,我們來實現統計一個文檔中,字母出現的個數。具體代碼如下:

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))

這里統計的英文文檔中,空格最多,達到了124個。其他的一次都是前幾最多的個數。這樣我們可以通過Counter生成一個英文文檔中字母的頻度分布,在自然語言的處理當中。就可以完美的結合起來進行統計使用。

五、算數操作

Counter容器不僅可以統計頻度的分布。還可以進行一些算數運算。比如將兩個Counter容器進行相加進行統計,亦或者相減也行。具體操作如下:

import collections

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

以上就是關于“Python的Counter容器怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳曲县| 修武县| 龙泉市| 萨迦县| 兰考县| 安化县| 南宫市| 叶城县| 衡南县| 建阳市| 新乡县| 上饶市| 龙口市| 徐汇区| 安达市| 大港区| 柳江县| 旌德县| 柞水县| 江阴市| 康马县| 法库县| 营山县| 英吉沙县| 武平县| 彝良县| 浑源县| 石楼县| 方山县| 黑龙江省| 左权县| 伊通| 灵丘县| 从化市| 墨江| 临漳县| 南和县| 阜新市| 辰溪县| 集贤县| 名山县|