脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python 对给定可迭代集合统计出现频率,并排序的方法

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

2021-04-09 00:22晓东邪 Python

今天小编就为大家分享一篇python 对给定可迭代集合统计出现频率,并排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

给定一个可迭代sequence,对其中的值进行出现次数统计:

方法1:

?
1
2
3
4
5
6
7
8
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

?
1
2
3
4
5
6
7
from collections import defaultdict
 
def get_counts2(sequence):
 counts = defaultdict(int) #所有的值均会被初始化为0
 for x in sequence:
  counts[x] +=1
 return counts

方法3:

?
1
2
3
4
from collections import Counter
 
counts = Counter(sequence)
#其中可以用counts.most_common(10)对出现最多的十个倒序排列

然后对得到的统计排序

?
1
2
3
4
5
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 对给定可迭代集合统计出现频率,并排序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/xiaodongxiexie/article/details/52960091

延伸 · 阅读

精彩推荐