<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python里最好用的counter計數(shù)器,不接受反駁!

          共 2483字,需瀏覽 5分鐘

           ·

          2021-12-25 22:02


          collections是python的標準庫,它提供了一些解決特定問題的容器,也就是說有些問題雖然可以用list,tuple,dict解決,但解決起來太麻煩,而這些問題又經(jīng)常遇到,所以他們就把這些問題的通用方法整理了出來,放到collections庫中讓人使用。
          collections中一共有9種容器,其中counter、defaultdict、deque、namedtuple、orderdict比較常用。
          今天我們單獨來講講Counter的用法!
          Counter目的是用來跟蹤值出現(xiàn)的次數(shù)。它是一個無序的容器類型,以字典的鍵值對形式存儲,其中元素作為key,其計數(shù)作為value。因此,我們可以通過字典的取數(shù)方式,進行取數(shù)。
          在使用之前,我們需要先導(dǎo)入這個庫,導(dǎo)入方法如下:
          from?collections?import?Counter
          使用Counter類,我們需要先實例化一個Counter類,我們先實例化一個空的Counter類。
          c1?=?Counter()
          c1
          結(jié)果如下:
          我們可以往括號中傳入?yún)?shù),來幫助我們實現(xiàn)不同情況下的 "值計數(shù)"。

          Counter類的創(chuàng)建

          我們可以往Counter類中,分別傳入字符串、列表、元組、字典等,創(chuàng)建一個Counter類。
          1. 傳入一個字符串
          c2?=?Counter("hello?huang")
          c2
          結(jié)果如下:
          2. 傳入一個列表
          lis?=?[i?for?i?in?"chinese"]
          c3?=?Counter(lis)
          c3
          結(jié)果如下:
          3. 傳入一個字典
          import?random
          dic?=?{k:?random.randint(1,4)?for?k?in?"abcdefg"}
          c4?=?Counter(dic)
          c4
          結(jié)果如下:
          4. 關(guān)鍵字參數(shù)
          c5?=?Counter(a=7,b=8)
          c5
          結(jié)果如下:

          Counter類中計數(shù)元素值的訪問

          和訪問字典類似,但是和字典唯一不同的是,如果所訪問的鍵不存在時,返回0,而不是KeyError。
          c?=?Counter("hello?huang")
          c["h"]
          結(jié)果如下:

          Counter類中計數(shù)元素的修改

          關(guān)于Counter類中的計數(shù)元素,既可以做加減法、還可以做集合運算、也可以刪除。
          1. 加減法
          ① 加法
          我們既可以使用update函數(shù),完成這個操作。還可以使用+號,完成這個操作。
          ② 減法
          我們既可以使用subtract函數(shù),完成這個操作。但是-號用法就不同了,它應(yīng)該屬于集合運算,只統(tǒng)計在集合a中,而不在集合b中的值。
          2. 集合運算
          上面的-號就是一個集合運算,我在為大家介紹一下與&、|或操作。
          ① 與&
          &操作,是找兩個collection中都有的鍵最小的鍵值。
          c1?=?Counter("chinese")
          c2?=?Counter("where")

          c1?&?c2
          結(jié)果如下:
          ② |或
          |操作,是找兩個collection中的鍵最大的鍵值(可以只有一個collection有這個鍵,但是結(jié)果中的鍵值必須大于零,小于零的被舍棄)。
          c1?=?Counter("chinese")
          c2?=?Counter("where")

          c1?|?c2
          結(jié)果如下:
          3. 刪除操作
          刪除元素使用的是del函數(shù)。
          c?=?Counter("where")

          del?c["r"]
          c
          結(jié)果如下:

          Counter類中其它常用函數(shù)

          1. most_common(n)找出重復(fù)次數(shù)最多的前n個。
          c?=?Counter("aabbbcccddddeeeee")
          c.most_common(2)
          結(jié)果如下:
          2. key和value用于獲取Collections鍵和鍵值的集合。
          c?=?Counter("chinese")
          c.keys()
          c.values()
          結(jié)果如下:
          當然,我們也可以使用dict()函數(shù)將collection中的內(nèi)容轉(zhuǎn)化為字典,我們也可以使用list()函數(shù)將collection中的鍵轉(zhuǎn)化為list,這里不在講述,大家自行下去學(xué)習(xí)。




          推薦閱讀:

          入門:?最全的零基礎(chǔ)學(xué)Python的問題? |?零基礎(chǔ)學(xué)了8個月的Python??|?實戰(zhàn)項目?|學(xué)Python就是這條捷徑


          干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


          趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!


          AI:?會做詩的機器人?|?給圖片上色?|?預(yù)測收入?|?碟中諜這么火,我用機器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


          小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水??!?|?一鍵把html網(wǎng)頁保存為pdf!|??再見PDF提取收費!?|?用90行代碼打造最強PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r機票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!


          年度爆款文案


          點閱讀原文,看200個Python案例!

          瀏覽 49
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  麻豆午夜成人无码电影 | 大香蕉论坛伊人在线网 | 青青草免费AV | 色情视频在线观看 | 日韩无码中文视频 |