亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

解決方案:collections模塊中的Counter類正是為此類問題所設(shè)計的。它的一個非常方便的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()增加計數(shù)
print(word_counts.most_common(3))

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

在底層實現(xiàn)中,Counter是一個字典,在元素和它們出現(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 #手動增加元素計數(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ù)可以通過手動進(jìn)行增加,也可以借助update()方法;

另外,Counter對象另一個特性是它們可以同各種數(shù)學(xué)運算操作結(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)面對任何需要對數(shù)據(jù)制表或計數(shù)的問題時,Counter對象都是你手邊的得力工具。比起利用字典自己手寫算法,更應(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文件與目錄操作技巧匯總

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

相關(guān)文章

  • 如何將一個CSV格式的文件分割成兩個CSV文件

    如何將一個CSV格式的文件分割成兩個CSV文件

    這篇文章主要介紹了如何將一個CSV格式的文件分割成兩個CSV文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 用Python分析3天破10億的《我不是藥神》到底神在哪?

    用Python分析3天破10億的《我不是藥神》到底神在哪?

    我不是藥神這部劇真的是很火,三天破10億。接下來腳本之家小編給大家?guī)砹擞肞ython來看3天破10億的《我不是藥神》到底神在哪?感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • python數(shù)學(xué)建模之Matplotlib?實現(xiàn)圖片繪制

    python數(shù)學(xué)建模之Matplotlib?實現(xiàn)圖片繪制

    這篇文章主要介紹了python數(shù)學(xué)建模之Matplotlib?實現(xiàn)圖片繪制,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Python3 文章標(biāo)題關(guān)鍵字提取的例子

    Python3 文章標(biāo)題關(guān)鍵字提取的例子

    今天小編就為大家分享一篇Python3 文章標(biāo)題關(guān)鍵字提取的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 用python記錄運行pid,并在需要時kill掉它們的實例

    用python記錄運行pid,并在需要時kill掉它們的實例

    下面小編就為大家?guī)硪黄胮ython記錄運行pid,并在需要時kill掉它們的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實現(xiàn)

    Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實現(xiàn)

    這篇文章主要介紹了Python經(jīng)緯度坐標(biāo)轉(zhuǎn)換為距離及角度的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python3.7.3版本和django2.2.3版本是否可以兼容

    python3.7.3版本和django2.2.3版本是否可以兼容

    在本篇文章里小編給大家整理的是一篇關(guān)于python3.7.3版本和django2.2.3版本是否可以兼容的相關(guān)知識點內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-09-09
  • numpy求平均值的維度設(shè)定的例子

    numpy求平均值的維度設(shè)定的例子

    今天小編就為大家分享一篇numpy求平均值的維度設(shè)定的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • pytorch框架的詳細(xì)介紹與應(yīng)用詳解

    pytorch框架的詳細(xì)介紹與應(yīng)用詳解

    這篇文章主要介紹了pytorch框架的詳細(xì)介紹與應(yīng)用,Torch?是一個經(jīng)典的對多維矩陣數(shù)據(jù)進(jìn)行操作的張量(tensor?)庫,在機器學(xué)習(xí)和其他數(shù)學(xué)密集型應(yīng)用有廣泛應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04
  • python之PyQt按鈕右鍵菜單功能的實現(xiàn)代碼

    python之PyQt按鈕右鍵菜單功能的實現(xiàn)代碼

    這篇文章主要介紹了python PyQt按鈕右鍵菜單功能的實現(xiàn)代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論