Python統(tǒng)計列表中的重復(fù)項出現(xiàn)的次數(shù)的方法
本文實例展示了Python統(tǒng)計列表中的重復(fù)項出現(xiàn)的次數(shù)的方法,是一個很實用的功能,適合Python初學(xué)者學(xué)習(xí)借鑒。具體方法如下:
對一個列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],現(xiàn)在我們需要統(tǒng)計這個列表里的重復(fù)項,并且重復(fù)了幾次也要統(tǒng)計出來。
方法1:
mylist = [1,2,2,2,2,3,3,3,4,4,4,4] myset = set(mylist) #myset是另外一個列表,里面的內(nèi)容是mylist里面的無重復(fù) 項 for item in myset: print("the %d has found %d" %(item,mylist.count(item)))
方法2:
List=[1,2,2,2,2,3,3,3,4,4,4,4] a = {} for i in List: if List.count(i)>1: a[i] = List.count(i) print (a)
利用字典的特性來實現(xiàn)。
方法3:
>>> from collections import Counter >>> Counter([1,2,2,2,2,3,3,3,4,4,4,4]) Counter({1: 5, 2: 3, 3: 2})
這里再增補(bǔ)一個只用列表實現(xiàn)的方法:
l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9] count_times = [] for i in l : count_times.append(l.count(i)) m = max(count_times) n = l.index(m) print (l[n])
其實現(xiàn)原理就是把列表中的每一個數(shù)出現(xiàn)的次數(shù)在其對應(yīng)的位置記錄下來,然后用max求出出現(xiàn)次數(shù)最多的位置。
只用這段代碼的話,有一個缺點,如果有多個結(jié)果,最后的現(xiàn)實的結(jié)果只是出現(xiàn)在最左邊的那一個,不過解決方法也很簡單
感興趣的讀者可以動手實踐一下本文所述代碼,還可以對不足之處加以改進(jìn),使之功能更加完善。
相關(guān)文章
python讀取當(dāng)前目錄下的CSV文件數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python讀取當(dāng)前目錄下的CSV文件數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03pandas 將list切分后存入DataFrame中的實例
今天小編就為大家分享一篇pandas 將list切分后存入DataFrame中的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07使用Python對Syslog信息進(jìn)行分析并繪圖的實現(xiàn)
這篇文章主要介紹了使用Python對Syslog信息進(jìn)行分析并繪圖的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Django項目創(chuàng)建及管理實現(xiàn)流程詳解
這篇文章主要介紹了Django項目創(chuàng)建及管理實現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10