Python學(xué)習(xí)筆記3---字典在統(tǒng)計(jì)元素出現(xiàn)次數(shù)中的簡(jiǎn)單應(yīng)用

如果需要統(tǒng)計(jì)一段文本中每個(gè)詞語(yǔ)出現(xiàn)次數(shù)哩都,需要怎么做呢魁兼?

這里就要用到字典類型了,在字典中構(gòu)成“元素:出現(xiàn)次數(shù)”的健值對(duì)漠嵌,非常適合“統(tǒng)計(jì)元素次數(shù)”這樣的問題咐汞。

下面就用一道例題,簡(jiǎn)單學(xué)習(xí)一下:

列表 ls 中存儲(chǔ)了我國(guó) 39 所 985 高校所對(duì)應(yīng)的學(xué)校類型献雅,請(qǐng)以這個(gè)列表為數(shù)據(jù)變量碉考,完善 Python 代碼,統(tǒng)計(jì)輸出各類型的數(shù)量挺身。

ls = ["綜合", "理工", "綜合", "綜合", "綜合", "綜合", "綜合", "綜合", "綜合", "綜合",\

? ? ? "師范", "理工", "綜合", "理工", "綜合", "綜合", "綜合", "綜合", "綜合","理工",\

? ? ? "理工", "理工", "理工", "師范", "綜合", "農(nóng)林", "理工", "綜合", "理工", "理工", \

? ? ? "理工", "綜合", "理工", "綜合", "綜合", "理工", "農(nóng)林", "民族", "軍事"]

接下來(lái)詳細(xì)說(shuō)一下思考的步驟:

1、構(gòu)建一個(gè)空字典

想要構(gòu)成“元素:出現(xiàn)次數(shù)”的健值對(duì)锌仅,那首先肯定就是要先生成一個(gè)空字典章钾。

d = { }

2、生成好空字典后热芹,就要往里面“裝”東西了贱傀。

如果要給上面那個(gè)空字典裝東西,直接用索引和賦值配合增加元素:

例子:

>>> t["一周有幾天"] = "7"

>>>print(t)

{‘一周有幾天’:’7’}

同樣方法伊脓,往d = { }添加元素府寒,用word代表字典里的“健”,就是那些Is里的那些詞:

d[word] = (心里活動(dòng):等报腔。株搔。于。纯蛾。等于啥呢纤房?)

這里要用到字典的一個(gè)操作方法:

d.get(key, default)? ? ? # 如果健存在,返回的值就是這個(gè)健翻诉,如果不存在炮姨,那就返回default捌刮。

那就寫出這個(gè)東西了:

d[word] = d.get(word, 0)? ? ?

# 給字典d里添加元素,“健”是word舒岸,值是d.get(word, 0) 绅作。

# d.get(word, 0) 的意思為:從字典d里找這個(gè)word,如果word存在蛾派,那就添加一個(gè)“word :word”健值對(duì)俄认,如果不存在,那就增加了一個(gè)“word:0”健值對(duì)碍脏。

有點(diǎn)繞梭依,慢慢理解下。

因?yàn)樽值鋎是空的呀典尾,那里面啥也沒有役拴,d.get(word, 0) 返回的肯定是 0 。

哎钾埂,哎河闰,出現(xiàn)數(shù)字了啊,注意褥紫,雖然是個(gè)“0”姜性。

另外一方面,給字典添加元素髓考,也不能手動(dòng)來(lái)吧部念,不現(xiàn)實(shí)。氨菇。

這個(gè)時(shí)候儡炼,當(dāng)然就得讓 for 循環(huán)出場(chǎng)了。

3查蓉、添加一個(gè)循環(huán)乌询。

for word in ls:

? ? ? d[word] = d.get(word, 0) + 1

讓‘word’在Is里循環(huán)取值,比如第一次 word 從 Is 取到一個(gè)詞豌研, “綜合”妹田,

那d[word] = d.get(word, 0)? 的結(jié)果,就是d[綜合] = 0鹃共。d一開始是空的鬼佣,現(xiàn)在有了健值對(duì),變成了{'綜合':'0'}及汉,

在給d.get(word, 0) 加個(gè) 1沮趣,就成了{(lán)'綜合':'1'}。

好啦坷随,現(xiàn)在我們知道了房铭,“綜合”這個(gè)詞出現(xiàn)了 1 次驻龟。

喜大普奔~~~~~

如果word在Is里接下來(lái)取到的詞不是“綜合”,那就是重復(fù)以上步驟缸匪;

如果取到的詞還是“綜合”翁狐,因?yàn)榻≈祵?duì)'綜合':'1'已經(jīng)在字典里了,所以d.get(word, 0) 的結(jié)果凌蔬,就不是0啦露懒,而是

d[綜合] = 1

再加個(gè)1,那就是d[綜合] = 2砂心,因?yàn)樽值涞慕〔辉试S重復(fù)懈词,值是可以重復(fù)的,所以這一步操作相當(dāng)于對(duì)'綜合':'1'進(jìn)行了就修改辩诞,變成了

‘綜合‘:’2‘?

這回明白了吧坎弯,通過(guò)循環(huán)操作,兩行代碼就生成了一個(gè)字典译暂,里面的健值對(duì)抠忘,就是詞語(yǔ)及其出現(xiàn)的次數(shù)。

到了這一步外永,其實(shí)工作已經(jīng)差不多了崎脉,以上全部代碼為:

d = {}

for word in ls:?

? ? ?d[word] = d.get(word, 0) + 1

用print(d) 來(lái)輸出結(jié)果:

{'綜合': 20, '理工': 13, '師范': 2, '農(nóng)林': 2, '民族': 1, '軍事': 1}

4、換種輸出形式

剛才顯示的還是不太一目了然伯顶,如果出現(xiàn)的結(jié)果是以列的形式囚灼,那會(huì)直觀一些。

怎么做祭衩?

還是用循環(huán)吧啦撮。

for k in d:?

? ? ? print("{}:{}".format(k, d[k]))

用 k 代表 字典里的 “健”,循環(huán)多次得到結(jié)果:

綜合:20

理工:13

師范:2

農(nóng)林:2

民族:1

軍事:1

format()的使用這里就不說(shuō)了汪厨,說(shuō)簡(jiǎn)單也簡(jiǎn)單,說(shuō)復(fù)雜也有點(diǎn)復(fù)雜愉择,format的格式控制那些玩意兒不好整劫乱。

好啦,今天就記這么多吧锥涕,這道例題的全部代碼如下:

d = {}

for word in ls:?

? ? ?d[word] = d.get(word, 0) + 1

for k in d:?

? ? ? print("{}:{}".format(k, d[k]))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衷戈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子层坠,更是在濱河造成了極大的恐慌殖妇,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件破花,死亡現(xiàn)場(chǎng)離奇詭異谦趣,居然都是意外死亡疲吸,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門前鹅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摘悴,“玉大人,你說(shuō)我怎么就攤上這事舰绘□逵鳎” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵捂寿,是天一觀的道長(zhǎng)口四。 經(jīng)常有香客問我,道長(zhǎng)秦陋,這世上最難降的妖魔是什么蔓彩? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮踱侣,結(jié)果婚禮上粪小,老公的妹妹穿的比我還像新娘。我一直安慰自己抡句,他們只是感情好探膊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著待榔,像睡著了一般逞壁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锐锣,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天腌闯,我揣著相機(jī)與錄音,去河邊找鬼雕憔。 笑死姿骏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斤彼。 我是一名探鬼主播分瘦,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼琉苇!你這毒婦竟也來(lái)了嘲玫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤并扇,失蹤者是張志新(化名)和其女友劉穎去团,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡土陪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年昼汗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旺坠。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乔遮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出取刃,到底是詐尸還是另有隱情蹋肮,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布璧疗,位于F島的核電站坯辩,受9級(jí)特大地震影響崩侠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜改抡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一阿纤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欠拾,春花似錦骗绕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春尔觉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背专甩。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工涤躲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人种樱。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓蒙袍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嫩挤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子害幅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,746評(píng)論 0 10
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,383評(píng)論 0 5
  • 一、集合 ??在 Python 中约啊,集合由內(nèi)置的 set 類型定義邑遏。??集合的特性:無(wú)序,元素唯一 恰矩,可變记盒。屬于散...
    奮斗在阿爾卑斯的皮卡丘閱讀 728評(píng)論 0 0
  • 【原典77】 “功夫難處,全在格物致知上枢里。此即誠(chéng)意之事。意既誠(chéng)栏豺,大段心亦自正彬碱,身亦自修巷疼。但正心修身工夫,亦各有用力...
    海上明月共閱讀 755評(píng)論 0 0
  • 天一直霧蒙蒙的已經(jīng)好幾天了灵奖,總以為太陽(yáng)馬上就會(huì)沖出大霧的封鎖,可是卻一直都沒有成功瓷患。今天天反而下起了淅淅瀝瀝的小雨...
    angell20043閱讀 117評(píng)論 0 1