給定一個可迭代sequence,對其中的值進行出現次數統計:
方法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中內置的collections
from collections import defaultdictdef get_counts2(sequence): counts = defaultdict(int) #所有的值均會被初始化為0 for x in sequence: counts[x] +=1 return counts
方法3:
from collections import Countercounts = Counter(sequence)#其中可以用counts.most_common(10)對出現最多的十個倒序排列
然后對得到的統計排序:
def top_count(count_dic, n=10): #默認取最大的n=10個值 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:]
以上這篇python 對給定可迭代集合統計出現頻率,并排序的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答