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

yipeiwu_com5年前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实现建立SSH连接的方法

本文实例讲述了Python实现建立SSH连接的方法。分享给大家供大家参考。具体实现方法如下: 我需要实现一个Windows下远程连接到SSH服务器执行命令的功能,所以就在网上找资料。我的...

使用python编写android截屏脚本双击运行即可

测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较...

Python3使用TCP编写一个简易的文件下载器功能

Python3使用TCP编写一个简易的文件下载器功能

利用Python3来实现TCP协议,和UDP类似。UDP应用于及时通信,而TCP协议用来传送文件、命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱。下面代码就是模拟客户端...

Python机器学习logistic回归代码解析

Python机器学习logistic回归代码解析

本文主要研究的是Python机器学习logistic回归的相关内容,同时介绍了一些机器学习中的概念,具体如下。 Logistic回归的主要目的:寻找一个非线性函数sigmod最佳的拟合参...

Flask模拟实现CSRF攻击的方法

Flask模拟实现CSRF攻击的方法

CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。 CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。 包括:以你名义发送邮件,发消息...