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

作者:晓东邪 时间:2023-02-10 17:28:47 

给定一个可迭代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:]

来源:https://blog.csdn.net/xiaodongxiexie/article/details/52960091

标签:python,迭代,排序
0
投稿

猜你喜欢

  • python如何运行js语句

    2022-04-10 02:34:27
  • Pytest 自动化测试框架的使用

    2022-11-12 16:47:46
  • python eval()函数使用详情

    2021-10-17 02:09:23
  • python进阶教程之异常处理

    2023-10-14 23:04:17
  • MySQL中字符串与Num类型拼接报错的解决方法

    2024-01-27 11:32:00
  • Python学习之自定义异常详解

    2021-05-05 18:46:20
  • 如何创建一个Flask项目并进行简单配置

    2023-08-19 01:05:47
  • sql server中错误日志errorlog的深入讲解

    2024-01-23 11:57:58
  • IE不支持overrideMimeType()方法,即使是IE7.

    2009-02-08 16:58:00
  • PHP实现的微信公众号扫码模拟登录功能示例

    2023-11-22 18:13:08
  • 6款jQuery图表插件[译]

    2009-06-01 10:34:00
  • 使用python实现三维图可视化

    2021-07-31 02:28:57
  • python中matplotlib的颜色以及形状实例详解

    2021-06-30 23:04:35
  • MySQL优化之数据表的处理

    2008-12-22 14:45:00
  • python opencv实现图片旋转矩形分割

    2022-01-25 06:23:24
  • mysql8.0.19忘记密码处理方法详解

    2024-01-16 10:42:22
  • Python数据分析之 Pandas Dataframe应用自定义

    2023-03-02 09:18:12
  • 云原生使用Docker部署mysql数据库的详细过程

    2024-01-20 15:57:24
  • Python打包为exe详细教程

    2023-08-23 03:00:21
  • Pytorch教程内置模型源码实现

    2022-09-04 12:58:50
  • asp之家 网络编程 m.aspxhome.com