这篇文章给大家分享的是有关python如何对给定可迭代集合统计出现频率并排序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
给定一个可迭代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 defaultdict
def get_counts2(sequence):
counts = defaultdict(int) #所有的值均会被初始化为0
for x in sequence:
counts[x] +=1
return counts
方法3:
from collections import Counter
counts = 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如何对给定可迭代集合统计出现频率并排序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!