python 对给定可迭代集合统计出现频率,并排序的方法

yipeiwu_com6年前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 对给定可迭代集合统计出现频率,并排序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python玩转加密的技巧【推荐】

密码学俱乐部的第一条规则是:永远不要自己发明密码系统。密码学俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,在实现以及设计密码系统阶段都找到过许多漏洞。 Python 中...

Python2与Python3的区别实例分析

本文实例讲述了Python2与Python3的区别。分享给大家供大家参考,具体如下: python2与python3的区别 1、性能 2、编码格式utf-8 3、打印语句变成了打印函数...

举例讲解Python编程中对线程锁的使用

锁 python的内置数据结构比如列表和字典等是线程安全的,但是简单数据类型比如整数和浮点数则不是线程安全的,要这些简单数据类型的通过操作,就需要使用锁。 #!/usr/bin/en...

Django自定义插件实现网站登录验证码功能

Django自定义插件实现网站登录验证码功能

前言 网站登录的时候我们常常会看到随机的验证码需要输入后台验证,如图: 现在我们来实现在Django中通过自定制插件来实现随机验证 check_code.py 基于PIL生成一个带验证...

python OpenCV学习笔记之绘制直方图的方法

python OpenCV学习笔记之绘制直方图的方法

本篇文章主要介绍了python OpenCV学习笔记之绘制直方图的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 官方文档 – https://doc...