Python中如何找出序列中出現(xiàn)次數(shù)最多的元素,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),武宣企業(yè)網(wǎng)站建設(shè),武宣品牌網(wǎng)站建設(shè),網(wǎng)站定制,武宣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,武宣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。前言:有一個(gè)元素序列,想知道在序列中出現(xiàn)次數(shù)最多的元素是什么?
collections模塊中國(guó)的Counter類正是為此類問(wèn)題而設(shè)計(jì)的。它甚至有一個(gè)非常方便的most_common()方法可以告訴我們答案。可以給Counter對(duì)象提供任何可哈希的對(duì)象序列作為輸入。
實(shí)例:假設(shè)一個(gè)列表,其中有一些列的單詞,我們想找出哪些單詞出現(xiàn)的最為頻繁:
from collections import Counter words=[ 'a','b','c','d','e','f', 'a','b','c','d','e','f', 'a','b','c', 'a','b', 'a' ] #利用Counter統(tǒng)計(jì)每個(gè)元素出現(xiàn)的個(gè)數(shù) words_counts=Counter(words) #出現(xiàn)次數(shù)最多的3個(gè)元素 top_three=words_counts.most_common(3) #返回元素和出現(xiàn)次數(shù) print(top_three) #Counter底層是一個(gè)字典,可以在元素和他們出現(xiàn)的次數(shù)之間做映射,例如: #輸出元素【f】出現(xiàn)的次數(shù) print(words_counts['f']) #如果想手動(dòng)增加計(jì)數(shù)個(gè)數(shù),只需要簡(jiǎn)單的自增 words_counts['f']+=1 print(words_counts['f']) #如果想手動(dòng)增加計(jì)數(shù)個(gè)數(shù),還可以使用update()方法: #只針對(duì)元素【f】增加一次計(jì)數(shù) words_counts.update('f') print(words_counts['f']) #為所有計(jì)數(shù)增加一次 morewords=[ 'a','b','c','d','e','f' ] words_counts.update(morewords) print(words_counts['f'])
運(yùn)行結(jié)果:
[('a', 5), ('b', 4), ('c', 3)] 2 3 4 5
Counter對(duì)象另一個(gè)不為人知的特性,那就是他們可以輕松地同各種數(shù)學(xué)運(yùn)算操作結(jié)合起來(lái)使用。
from collections import Counter words1=[ 'a','b','c','d','e','f', 'a','b','c','d','e','f', 'a','b','c', 'a','b', 'a' ] words2=[ 'a','b','c','d','e','f', 'a','b','c', 'a','b', 'a' ] one=Counter(words1) two=Counter(words2) print(one) print(two) three=one+two print(three) four=one-two print(four)
運(yùn)行結(jié)果:
Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 2, 'f': 2}) Counter({'a': 4, 'b': 3, 'c': 2, 'd': 1, 'e': 1, 'f': 1}) Counter({'a': 9, 'b': 7, 'c': 5, 'd': 3, 'e': 3, 'f': 3}) Counter({'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1})
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。