欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python找出列表中出現(xiàn)次數(shù)最多的元素三種方式

 更新時(shí)間:2020年02月24日 14:23:41   作者:qq_1471587327  
本文通過(guò)三種方式給大家介紹Python找出列表中出現(xiàn)次數(shù)最多的元素,每種方式通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下

通過(guò)三種方式給大家介紹,具體詳情如下所示:

方式一:

原理:創(chuàng)建一個(gè)新的空字典,用循環(huán)的方式來(lái)獲取列表中的每一個(gè)元素,判斷獲取的元素是否存在字典中的key,如果不存在的話,將元素作為key,值為列表中元素的count

# 字典方法
words = [
 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I',
 'need', 'skills', 'more', 'my', 'ability', 'are',
 'so', 'poor'
]
dict1 = {}
for i in words:
 if i not in dict1.keys():
  dict1[i] = words.count(i)
print(dict1)

運(yùn)行結(jié)果:

{'my': 2, 'skills': 2, 'are': 2, 'poor': 3, 'I': 2, 'am': 1, 'need': 1, 'more': 1, 'ability': 1, 'so': 1}

方式二

原理:使用setdefault函數(shù),setdefault()函數(shù),如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為默認(rèn)值。
打個(gè)比方,我們要查找的這個(gè)鍵不在字典中,我們先將它置為0,然后再加1,再查找到這個(gè)鍵的時(shí)候,這個(gè)時(shí)候它是存在這個(gè)字典里面的,故這個(gè)setdefault函數(shù)不生效,然后我們?cè)侔汛螖?shù)加1

words = [
 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I',
 'need', 'skills', 'more', 'my', 'ability', 'are',
 'so', 'poor'
]
d = dict()
for item in words:
 # setdefault()函數(shù),如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為默認(rèn)值
 d[item] = d.setdefault(item, 0) + 1
print(d)

運(yùn)行結(jié)果:

{'my': 2, 'skills': 2, 'are': 2, 'poor': 3, 'I': 2, 'am': 1, 'need': 1, 'more': 1, 'ability': 1, 'so': 1}

方式三

原理:使用collections模塊的Counter類
這個(gè)模塊很強(qiáng)大,尤其是這個(gè)類。他可以直接幫我們計(jì)數(shù),然后再幫我們排序好。從大到小

from collections import Counter
words = [
 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I',
 'need', 'skills', 'more', 'my', 'ability', 'are',
 'so', 'poor'
]
collection_words = Counter(words)
print(collection_words)
print(type(collection_words))

運(yùn)行結(jié)果:

Counter({'poor': 3, 'my': 2, 'skills': 2, 'are': 2, 'I': 2, 'am': 1, 'need': 1, 'more': 1, 'ability': 1, 'so': 1})
<class 'collections.Counter'>

還可以輸出頻率最大的n個(gè)元素,類型為list

most_counterNum = collection_words.most_common(3)
print(most_counterNum)
print(type(most_counterNum))

運(yùn)行結(jié)果:

[('poor', 3), ('my', 2), ('skills', 2)]
<class 'list'>

ounter類支持collections.Counter類型的相加和相減

也就是用Counter(words)之后,這個(gè)類型是可以相加減的,只支持相加減
例子:

print(collection_words + collection_words)

這里要注意:不能為了圖方便進(jìn)行collection_words * 2,因?yàn)轭愋筒煌?為int,故不能進(jìn)行運(yùn)算
運(yùn)行結(jié)果:

Counter({'poor': 6, 'my': 4, 'skills': 4, 'are': 4, 'I': 4, 'am': 2, 'need': 2, 'more': 2, 'ability': 2, 'so': 2})

總結(jié)

到此這篇關(guān)于Python找出列表中出現(xiàn)次數(shù)最多的元素三種方式的文章就介紹到這了,更多相關(guān)python找出出現(xiàn)次數(shù)最多的元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Tensorflow進(jìn)行多維矩陣的拆分與拼接實(shí)例

    Tensorflow進(jìn)行多維矩陣的拆分與拼接實(shí)例

    今天小編就為大家分享一篇Tensorflow進(jìn)行多維矩陣的拆分與拼接實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python 對(duì)象序列化與反序列化之pickle json詳細(xì)解析

    Python 對(duì)象序列化與反序列化之pickle json詳細(xì)解析

    我們知道在Python中,一切皆為對(duì)象,實(shí)例是對(duì)象,類是對(duì)象,元類也是對(duì)象。本文正是要聊聊如何將這些對(duì)象有效地保存起來(lái),以供后續(xù)使用
    2021-09-09
  • 解決Django no such table: django_session的問(wèn)題

    解決Django no such table: django_session的問(wèn)題

    這篇文章主要介紹了解決Django no such table: django_session的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python實(shí)現(xiàn)統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù)

    Python實(shí)現(xiàn)統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù)

    這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計(jì)單詞出現(xiàn)的個(gè)數(shù),本文給出了實(shí)現(xiàn)代碼以及使用方法,需要的朋友可以參考下
    2015-05-05
  • Python+騰訊云服務(wù)器實(shí)現(xiàn)每日自動(dòng)健康打卡

    Python+騰訊云服務(wù)器實(shí)現(xiàn)每日自動(dòng)健康打卡

    本文主要介紹了通過(guò)Python+騰訊云服務(wù)器實(shí)現(xiàn)每日自動(dòng)健康打卡,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 詳解如何優(yōu)化和調(diào)整Python中Scrapy的性能

    詳解如何優(yōu)化和調(diào)整Python中Scrapy的性能

    在本篇高級(jí)教程中,我們將深入探討如何優(yōu)化和調(diào)整Scrapy爬蟲的性能,以及如何處理更復(fù)雜的抓取任務(wù),如登錄,處理Cookies和會(huì)話,以及避免爬蟲被網(wǎng)站識(shí)別和封鎖,需要的朋友可以參考下
    2023-09-09
  • flask框架渲染Jinja模板與傳入模板變量操作詳解

    flask框架渲染Jinja模板與傳入模板變量操作詳解

    這篇文章主要介紹了flask框架渲染Jinja模板與傳入模板變量操作,結(jié)合實(shí)例形式詳細(xì)分析了flask框架模板相關(guān)原理、模板渲染、傳入?yún)?shù)等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • Python如何避免文件同名產(chǎn)生覆蓋

    Python如何避免文件同名產(chǎn)生覆蓋

    這篇文章主要介紹了Python如何避免文件同名產(chǎn)生覆蓋,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python中os.system()、subprocess.run()、call()、check_output()的使用案例

    Python中os.system()、subprocess.run()、call()、check_output()的使用

    這篇文章主要介紹了Python中os.system()、subprocess.run()、call()、check_output()的使用案例,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Python并查集Disjoint?Set的具體使用

    Python并查集Disjoint?Set的具體使用

    本文主要介紹了Python并查集Disjoint?Set的具體使用,包括并查集的基本概念、實(shí)現(xiàn)方式、路徑壓縮和應(yīng)用場(chǎng)景,并使用代碼示例演示并查集的操作,感興趣的可以了解一下
    2024-01-01

最新評(píng)論