Python中如何找出序列中出現(xiàn)次數(shù)最多的元素,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
十多年的虞城網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整虞城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“虞城網(wǎng)站設(shè)計(jì)”,“虞城網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
前言:有一個(gè)元素序列,想知道在序列中出現(xiàn)次數(shù)最多的元素是什么?
collections模塊中國的Counter類正是為此類問題而設(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é)合起來使用。
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)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。