最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)找出序列中出現(xiàn)次數(shù)最多的元素算法示例

 更新時(shí)間:2018年03月15日 11:02:07   作者:壟上行  
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)找出序列中出現(xiàn)次數(shù)最多的元素算法,涉及Python collections模塊中的Counter類相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python找出序列中出現(xiàn)次數(shù)最多的元素。分享給大家供大家參考,具體如下:

問題:找出一個(gè)元素序列中出現(xiàn)次數(shù)最多的元素是什么

解決方案:collections模塊中的Counter類正是為此類問題所設(shè)計(jì)的。它的一個(gè)非常方便的most_common()方法直接告訴你答案。

# Determine the most common words in a list
words = [
  'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',
  'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',
  'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',
  'my', 'eyes', "you're", 'under'
]
from collections import Counter
word_counts = Counter(words)
top_three = word_counts.most_common(3)
print(top_three)
# outputs [('eyes', 8), ('the', 5), ('look', 4)]
# Example of merging in more words
morewords = ['why','are','you','not','looking','in','my','eyes']
word_counts.update(morewords) #使用update()增加計(jì)數(shù)
print(word_counts.most_common(3))

>>> ================================ RESTART ================================
>>>
[('eyes', 8), ('the', 5), ('look', 4)]
[('eyes', 9), ('the', 5), ('my', 4)]
>>>

在底層實(shí)現(xiàn)中,Counter是一個(gè)字典,在元素和它們出現(xiàn)的次數(shù)間做了映射。

>>> word_counts
Counter({'eyes': 9, 'the': 5, 'my': 4, 'look': 4, 'into': 3, 'around': 2, 'not': 2, "don't": 1, 'under': 1, 'are': 1, 'looking': 1, "you're": 1, 'you': 1, 'why': 1, 'in': 1})
>>> word_counts.most_common(3) #top_three
[('eyes', 9), ('the', 5), ('my', 4)]
>>> word_counts['not']
2
>>> word_counts['eyes']
9
>>> word_counts['eyes']+1
10
>>> word_counts
Counter({'eyes': 9, 'the': 5, 'my': 4, 'look': 4, 'into': 3, 'around': 2, 'not': 2, "don't": 1, 'under': 1, 'are': 1, 'looking': 1, "you're": 1, 'you': 1, 'why': 1, 'in': 1})
>>> word_counts['eyes']=word_counts['eyes']+1 #手動(dòng)增加元素計(jì)數(shù)
>>> word_counts
Counter({'eyes': 10, 'the': 5, 'my': 4, 'look': 4, 'into': 3, 'around': 2, 'not': 2, "don't": 1, 'under': 1, 'are': 1, 'looking': 1, "you're": 1, 'you': 1, 'why': 1, 'in': 1})
>>>

增加元素出現(xiàn)次數(shù)可以通過手動(dòng)進(jìn)行增加,也可以借助update()方法;

另外,Counter對(duì)象另一個(gè)特性是它們可以同各種數(shù)學(xué)運(yùn)算操作結(jié)合起來使用:

>>> a=Counter(words)
>>> a
Counter({'eyes': 8, 'the': 5, 'look': 4, 'my': 3, 'into': 3, 'around': 2, 'under': 1, "you're": 1, 'not': 1, "don't": 1})
>>> b=Counter(morewords)
>>> b
Counter({'not': 1, 'my': 1, 'in': 1, 'you': 1, 'looking': 1, 'are': 1, 'eyes': 1, 'why': 1})
>>> c=a+b
>>> c
Counter({'eyes': 9, 'the': 5, 'my': 4, 'look': 4, 'into': 3, 'around': 2, 'not': 2, "don't": 1, 'under': 1, 'are': 1, 'looking': 1, "you're": 1, 'you': 1, 'in': 1, 'why': 1})
>>> # substract counts
>>> d=a-b
>>> d
Counter({'eyes': 7, 'the': 5, 'look': 4, 'into': 3, 'my': 2, 'around': 2, 'under': 1, "you're": 1, "don't": 1})
>>>

當(dāng)面對(duì)任何需要對(duì)數(shù)據(jù)制表或計(jì)數(shù)的問題時(shí),Counter對(duì)象都是你手邊的得力工具。比起利用字典自己手寫算法,更應(yīng)采用該方式完成任務(wù)。

(代碼摘自《Python Cookbook》)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python中的數(shù)據(jù)分析詳解

    Python中的數(shù)據(jù)分析詳解

    這篇文章主要介紹了Python中的數(shù)據(jù)分析詳解,對(duì)數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)分析是指根據(jù)分析目的,用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法及工具,對(duì)收集來的數(shù)據(jù)進(jìn)行處理與分析,提取有價(jià)值的信息,發(fā)揮數(shù)據(jù)的作用,需要的朋友可以參考下
    2023-07-07
  • Python簡單基礎(chǔ)小程序的實(shí)例代碼

    Python簡單基礎(chǔ)小程序的實(shí)例代碼

    這篇文章主要介紹了Python簡單基礎(chǔ)小程序的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn)

    Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn)

    這篇文章主要介紹了Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python3 max()函數(shù)基礎(chǔ)用法

    Python3 max()函數(shù)基礎(chǔ)用法

    在本篇文章中我們給大家講述了關(guān)于Python3 max()函數(shù)的基本用法以及相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-02-02
  • 用Python的SimPy庫簡化復(fù)雜的編程模型的介紹

    用Python的SimPy庫簡化復(fù)雜的編程模型的介紹

    這篇文章主要介紹了用Python的SimPy庫簡化復(fù)雜的編程模型的介紹,本文來自于官方的開發(fā)者技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python 短視頻爬蟲教程

    Python 短視頻爬蟲教程

    今天給大家?guī)硪黄老x小教程,很簡單的幾十行代碼就可以實(shí)現(xiàn)了,爬取的目標(biāo)是短視頻,感興趣的同學(xué)快來跟著小編往下看吧
    2021-11-11
  • python獲取屏幕截圖區(qū)域坐標(biāo)簡單代碼和思路

    python獲取屏幕截圖區(qū)域坐標(biāo)簡單代碼和思路

    這篇文章主要介紹了python獲取屏幕截圖區(qū)域坐標(biāo)的相關(guān)資料,文章介紹了一個(gè)獲取屏幕截圖區(qū)域信息的簡單方法,通過鼠標(biāo)操作確定截圖區(qū)域的左上角和右下角坐標(biāo),計(jì)算出區(qū)域的寬度和高度,并返回這些參數(shù),以便進(jìn)行后續(xù)的數(shù)字識(shí)別和比較操作,需要的朋友可以參考下
    2024-11-11
  • python中如何提高圖像質(zhì)量

    python中如何提高圖像質(zhì)量

    這篇文章主要介紹了python中如何提高圖像質(zhì)量問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python實(shí)現(xiàn)會(huì)員信息管理系統(tǒng)(List)

    python實(shí)現(xiàn)會(huì)員信息管理系統(tǒng)(List)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)會(huì)員信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python學(xué)習(xí)之函數(shù)的定義與使用詳解

    Python學(xué)習(xí)之函數(shù)的定義與使用詳解

    函數(shù)是具有某種特定功能的代碼塊,可以重復(fù)使用(在前面數(shù)據(jù)類型相關(guān)章節(jié)。它使得我們的程序更加模塊化,不需要編寫大量重復(fù)的代碼。本文將詳細(xì)介紹Python中函數(shù)的定義與使用,感興趣的可以學(xué)習(xí)一下
    2022-03-03

最新評(píng)論

汉寿县| 景东| 红安县| 泰安市| 章丘市| 密云县| 洛扎县| 江阴市| 北碚区| 商河县| 始兴县| 札达县| 湟源县| 博乐市| 如东县| 平顶山市| 手机| 武川县| 图们市| 马山县| 会东县| 江孜县| 稻城县| 丰顺县| 清镇市| 新田县| 德兴市| 陆川县| 湘潭县| 虎林市| 城市| 建阳市| 宜春市| 梅河口市| 木兰县| 木里| 黄冈市| 三河市| 巴林左旗| 柏乡县| 襄樊市|