溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何對給定可迭代集合統(tǒng)計(jì)出現(xiàn)頻率并排序

發(fā)布時(shí)間:2021-08-12 13:38:27 來源:億速云 閱讀:113 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)python如何對給定可迭代集合統(tǒng)計(jì)出現(xiàn)頻率并排序的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

給定一個(gè)可迭代sequence,對其中的值進(jìn)行出現(xiàn)次數(shù)統(tǒng)計(jì):

方法1:

def get_counts(sequence):
 counts = {}
 for x in sequence:
  if x in counts:
   counts[x] += 1
  else:
   counts[x] = 1
 return counts

方法2:

利用python中內(nèi)置的collections

from collections import defaultdict

def get_counts2(sequence):
 counts = defaultdict(int) #所有的值均會(huì)被初始化為0
 for x in sequence:
  counts[x] +=1 
 return counts

方法3:

from collections import Counter

counts = Counter(sequence)
#其中可以用counts.most_common(10)對出現(xiàn)最多的十個(gè)倒序排列

然后對得到的統(tǒng)計(jì)排序:

def top_count(count_dic, n=10): #默認(rèn)取最大的n=10個(gè)值
 value_key_pairs = [(count,data) for counts,data in cout_dict.items()]
 value_key_pairs.sort()
 #sorted(value_key_pairs) 兩者均可
 return value_key_pairs[-n:]

感謝各位的閱讀!關(guān)于“python如何對給定可迭代集合統(tǒng)計(jì)出現(xiàn)頻率并排序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI