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

利用Python找出序列中出現(xiàn)最多的元素示例代碼

 更新時(shí)間:2017年12月08日 14:32:14   作者:標(biāo)點(diǎn)符  
這篇文章主要給大家介紹了關(guān)于利用Python找出序列中出現(xiàn)最多的元素的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

Python包含6種內(nèi)置的序列:列表、元組、字符串 、Unicode字符串、buffer對(duì)象、xrange對(duì)象。在序列中的每個(gè)元素都有自己的編號(hào)。列表與元組的區(qū)別在于,列表是可以修改,而組元不可修改。理論上幾乎所有情況下元組都可以用列表來代替。有個(gè)例外是但元組作為字典的鍵時(shí),在這種情況下,因?yàn)殒I不可修改,所以就不能使用列表。

我們?cè)谝恍┙y(tǒng)計(jì)工作或者分析過程中,有事會(huì)遇到要統(tǒng)計(jì)一個(gè)序列中出現(xiàn)最多次的元素,比如一段英文中,查詢出現(xiàn)最多的詞是什么,及每個(gè)詞出現(xiàn)的次數(shù)。一遍的做法為,將每個(gè)此作為key,出現(xiàn)一次,value增加1。

例如:

morewords = ['why','are','you','not','looking','in','my','eyes']
for word in morewords:
 word_counts[word] += 1

collections.Counter 類就是專門為這類問題而設(shè)計(jì)的, 它甚至有一個(gè)有用的 most_common() 方法直接給了你答案。

collections模塊

collections模塊自Python 2.4版本開始被引入,包含了dict、set、list、tuple以外的一些特殊的容器類型,分別是:

  • OrderedDict類:排序字典,是字典的子類。引入自2.7。
  • namedtuple()函數(shù):命名元組,是一個(gè)工廠函數(shù)。引入自2.6。
  • Counter類:為hashable對(duì)象計(jì)數(shù),是字典的子類。引入自2.7。
  • deque:雙向隊(duì)列。引入自2.4。
  • defaultdict:使用工廠函數(shù)創(chuàng)建字典,使不用考慮缺失的字典鍵。引入自2.5。

文檔參見:http://docs.python.org/2/library/collections.html

Counter類

Counter類的目的是用來跟蹤值出現(xiàn)的次數(shù)。它是一個(gè)無序的容器類型,以字典的鍵值對(duì)形式存儲(chǔ),其中元素作為key,其計(jì)數(shù)作為value。計(jì)數(shù)值可以是任意的Interger(包括0和負(fù)數(shù))。Counter類和其他語言的bags或multisets很相似。

為了演示,先假設(shè)你有一個(gè)單詞列表并且想找出哪個(gè)單詞出現(xiàn)頻率最高。你可以這樣做:

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)
# 出現(xiàn)頻率最高的3個(gè)單詞
top_three = word_counts.most_common(3)
print(top_three)
# Outputs [('eyes', 8), ('the', 5), ('look', 4)]

另外collections.Counter還有一個(gè)比較高級(jí)的功能,支持?jǐn)?shù)學(xué)算術(shù)符的相加相減。

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

參考文檔:

https://docs.python.org/3/library/collections.html

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Python中裝飾器兼容加括號(hào)和不加括號(hào)的寫法詳解

    Python中裝飾器兼容加括號(hào)和不加括號(hào)的寫法詳解

    這篇文章主要給大家介紹了關(guān)于Python中裝飾器兼容加括號(hào)和不加括號(hào)寫法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • Python命令行解析器argparse詳解

    Python命令行解析器argparse詳解

    大家好,本篇文章主要講的是Python命令行解析器argparse詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python集合add()函數(shù)使用詳解

    Python集合add()函數(shù)使用詳解

    python中add()方法用于給集合添加元素,如果添加的元素在集合中已存在,則不執(zhí)行任何操作,本文將給大家介紹一下Python集合add()函數(shù)使用方法,感興趣的小伙伴跟著小編一起來看看吧
    2023-07-07
  • Python之進(jìn)行URL編碼案例講解

    Python之進(jìn)行URL編碼案例講解

    這篇文章主要介紹了Python之進(jìn)行URL編碼案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Python并發(fā)concurrent.futures和asyncio實(shí)例

    Python并發(fā)concurrent.futures和asyncio實(shí)例

    這篇文章主要介紹了Python并發(fā)concurrent.futures和asyncio實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Pytorch結(jié)合PyG實(shí)現(xiàn)MLP過程詳解

    Pytorch結(jié)合PyG實(shí)現(xiàn)MLP過程詳解

    這篇文章主要為大家介紹了Pytorch結(jié)合PyG實(shí)現(xiàn)MLP過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 移動(dòng)測(cè)試開發(fā)Mitmproxy用于測(cè)試抓包神器詳解

    移動(dòng)測(cè)試開發(fā)Mitmproxy用于測(cè)試抓包神器詳解

    這篇文章主要為大家介紹了python移動(dòng)測(cè)試開發(fā)Mitmproxy抓包神器使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • python dict亂碼如何解決

    python dict亂碼如何解決

    在本篇文章里小編給大家分享了關(guān)于python dict亂碼解決方法,需要的朋友們可以參考下。
    2020-06-06
  • Python實(shí)現(xiàn)投影法分割圖像示例(一)

    Python實(shí)現(xiàn)投影法分割圖像示例(一)

    今天小編就為大家分享一篇Python實(shí)現(xiàn)投影法分割圖像示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Sanic框架配置操作分析

    Sanic框架配置操作分析

    這篇文章主要介紹了Sanic框架配置操作,簡(jiǎn)單分析了Sanic框架中常見的加載配置使用方法,并簡(jiǎn)單說明了內(nèi)置配置的預(yù)定義變量與對(duì)應(yīng)功能,需要的朋友可以參考下
    2018-07-07

最新評(píng)論