欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡(jiǎn)單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法

 更新時(shí)間:2016年07月07日 15:28:43   作者:CIZIXS  
counter數(shù)據(jù)結(jié)構(gòu)被用來(lái)提供技術(shù)功能,形式類似于Python中內(nèi)置的字典結(jié)構(gòu),這里通過(guò)幾個(gè)小例子來(lái)簡(jiǎn)單掌握Python的Collections模塊中counter結(jié)構(gòu)的用法:

counter 是一種特殊的字典,主要方便用來(lái)計(jì)數(shù),key 是要計(jì)數(shù)的 item,value 保存的是個(gè)數(shù)。

from collections import Counter

>>> c = Counter('hello,world')
Counter({'l': 3, 'o': 2, 'e': 1, 'd': 1, 'h': 1, ',': 1, 'r': 1, 'w': 1})

初始化可以傳入三種類型的參數(shù):字典,其他 iterable 的數(shù)據(jù)類型,還有命名的參數(shù)對(duì)。

 | __init__(self, iterable=None, **kwds)
 |  Create a new, empty Counter object. And if given, count elements
 |  from an input iterable. Or, initialize the count from another mapping
 |  of elements to their counts.
 |
 |  >>> c = Counter()       # a new, empty counter
 |  >>> c = Counter('gallahad')     # a new counter from an iterable
 |  >>> c = Counter({'a': 4, 'b': 2})   # a new counter from a mapping
 |  >>> c = Counter(a=4, b=2)     # a new counter from keyword args

默認(rèn)請(qǐng)求下,訪問(wèn)不存在的 item,會(huì)返回 0。Counter 可以用來(lái)統(tǒng)計(jì)某些數(shù)據(jù)的出現(xiàn)次數(shù),比如一個(gè)很長(zhǎng)的數(shù)字串 numbers = "67642192097348921647512014651027586741512651" 中每個(gè)數(shù)字的頻率:

>>> c = Counter(numbers) # c 存儲(chǔ)了每個(gè)數(shù)字的頻率
>>> c.most_common()  # 所有數(shù)字按照頻率排序。如果 most_common 接受了 int 參數(shù) n,將返回頻率前n 的數(shù)據(jù),否則會(huì)返回所有的數(shù)據(jù)
[('1', 8),
 ('2', 6),
 ('6', 6),
 ('5', 5),
 ('4', 5),
 ('7', 5),
 ('0', 3),
 ('9', 3),
 ('8', 2),
 ('3', 1)]

此外,你還可以對(duì)兩個(gè) Counter 對(duì)象進(jìn)行 +, -,min, max 等操作。

綜合示例:

print('Counter類型的應(yīng)用') 
c = Counter("dengjingdong") 
#c = Counter({'n': 3, 'g': 3, 'd': 2, 'i': 1, 'o': 1, 'e': 1, 'j': 1}) 
print("原始數(shù)據(jù):",c) 
print("最多的兩個(gè)元素:",c.most_common(2))#輸出數(shù)量最多的元素 
print("d的個(gè)數(shù):",c['d'])#輸出d的個(gè)數(shù) 
print(c.values())#輸出字典的value列表 
print(sum(c.values()))#輸出總字符數(shù) 
print(sorted(c.elements()))#將字典中的數(shù)據(jù),按字典序排序 
print('\n\n') 
""" 
#刪除所有d元素 
del c['d'] 
b = Counter("dengxiaoxiao") 
#通過(guò)subtract函數(shù)刪除元素,元素個(gè)數(shù)可以變成負(fù)數(shù)。 
c.subtract(b) 
""" 
 
""" 
可以添加數(shù)據(jù) 
b = Counter("qinghuabeida") 
c.update(b) 
""" 

相關(guān)文章

  • 詳解python如何在django中為用戶模型添加自定義權(quán)限

    詳解python如何在django中為用戶模型添加自定義權(quán)限

    這篇文章主要介紹了python如何在django中為用戶模型添加自定義權(quán)限,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python學(xué)習(xí)之面向?qū)ο蟆救腴T初級(jí)篇】

    python學(xué)習(xí)之面向?qū)ο蟆救腴T初級(jí)篇】

    Python從第一天開始就是面向?qū)ο蟮恼Z(yǔ)言。正因?yàn)槿绱?,?chuàng)建和使用類和對(duì)象是非常地容易。這篇文章主要介紹了python中面向?qū)ο蟮南嚓P(guān)資料,屬于python面向?qū)ο髮W(xué)習(xí)的初級(jí)篇,本章將幫助您在使用Python面向?qū)ο缶幊痰募夹g(shù)方面所有提高,有需要的朋友可以參考借鑒。
    2017-01-01
  • python的等深分箱實(shí)例

    python的等深分箱實(shí)例

    今天小編就為大家分享一篇python的等深分箱實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python機(jī)器學(xué)習(xí)高數(shù)篇之泰勒公式

    python機(jī)器學(xué)習(xí)高數(shù)篇之泰勒公式

    這篇文章主要介紹了python機(jī)器學(xué)習(xí)高數(shù)篇之函數(shù)極限和導(dǎo)數(shù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • python 集合set中 add與update區(qū)別介紹

    python 集合set中 add與update區(qū)別介紹

    這篇文章主要介紹了python 集合set中 add與update區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • python實(shí)現(xiàn)讀取大文件并逐行寫入另外一個(gè)文件

    python實(shí)現(xiàn)讀取大文件并逐行寫入另外一個(gè)文件

    下面小編就為大家分享一篇python實(shí)現(xiàn)讀取大文件并逐行寫入另外一個(gè)文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python和js交互調(diào)用的方法

    python和js交互調(diào)用的方法

    在本篇文章里小編給大家整理了關(guān)于python和js交互調(diào)用的方法,需要的方法可以參考學(xué)習(xí)下。
    2020-06-06
  • Python條件語(yǔ)句與循環(huán)語(yǔ)句

    Python條件語(yǔ)句與循環(huán)語(yǔ)句

    這篇文章主要介紹了Python條件語(yǔ)句與循環(huán)語(yǔ)句,條件語(yǔ)句就是通過(guò)指定的表達(dá)式的運(yùn)行結(jié)果來(lái)判斷當(dāng)前是執(zhí)行還是跳過(guò)某些指定的語(yǔ)句塊,循環(huán)語(yǔ)句就是對(duì)某些語(yǔ)句的重復(fù)執(zhí)行,這個(gè)重復(fù)執(zhí)行是通過(guò)指定表達(dá)式來(lái)控制的,下面來(lái)看具體內(nèi)容及續(xù)航管案例吧,需要的朋友可以參考一下
    2021-11-11
  • python中argparse模塊基礎(chǔ)及使用步驟

    python中argparse模塊基礎(chǔ)及使用步驟

    argsparse是python的命令行解析的標(biāo)準(zhǔn)模塊,內(nèi)置于python,不需要安裝。這個(gè)庫(kù)可以讓我們直接在命令行中就可以向程序中傳入?yún)?shù)并讓程序運(yùn)行,接下來(lái)通過(guò)本文給大家介紹python argparse模塊的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-06-06
  • Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)

    Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)

    本文主要介紹了Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論