Python:collections.Counter
collections是Python内建的一个集合模块,其中提供了许多有用的集合类:
namedtuple:只有属性的简易类
deque:双向增删的List
ChainMap:多个字典的链接
Counter:计数器
以及其他可以参考:10.8 模块:collections - ShineLe - 博客园
Counter
作用:统计参数中各元素出现的次数。如果参数是list,统计结果为list中每个元素的出现次数;如果参数是str,统计结果为str中每个字母的出现次数。
用法:
#list
L=['red', 'blue', 'red', 'green', 'blue', 'blue']
c = Counter ( L ) c
Counter({'blue': 3, 'red': 2, 'green': 1})
#str
c=Counter('color')
c
Counter({'o': 2, 'c': 1, 'l': 1, 'r': 1})
返回一个Counter,虽然看起来和dict很像,但二者并不一样。
Counter转list和dict的方法为:
result_Counter=Counter(wordlist) #Counter类型
result_list = sorted(result_Counter.items(), key=lambda item: item[1], reverse=True)#list类型,而且顺序是排序后的
result_dict = dict(result_list)#dict类型
Counter中的元素可通过dict.items()方法提取,该方法返回一个List,List中的每个元素是一个tuple,tuple格式为( 元素 , 出现次数 )
c.items()
dict_items([('c', 1), ('o', 2), ('l', 1), ('r', 1)])
需要注意的是,返回的List中的元素并不是排序后的,所以要想得到排序后的list与dict,还是需要用上文提到的方法
学习自:(7条消息) Python collections.Counter()用法_qwe1257的博客-CSDN博客
例如:读文件统计词频并按照出现次数排序,文件有很多行,每行都是以空格隔开的单词
文件中的部分内容:
梨花 和善 友谊 生活
苹果 邪恶 朋友 工作
梨花 关系 成就 出发
……
from collections import Counter
with open('词语.txt','r',encoding='utf-8') as f :
lines = f.readlines() #按行读取
lines = [lines[i].split() for i in range(len(lines)) ]#去除词语间的空格
words = []
for line in lines:
words.extend(line) #将所有词语合并到一个list中
result = Counter(words)
print(result.most_common(10)) #输出频次最高的10个词语
Python:collections.Counter的更多相关文章
- python:collections模块
Counter类 介绍:A counter tool is provided to support convenient and rapid tallies 构造:class collections. ...
- Python:collections的deque()方法
转于:https://www.cnblogs.com/zhenwei66/p/6598996.html 博主:http://www.cnblogs.com/zhenwei66/(渐晨) python3 ...
- 一道算法题,引出collections.Counter的特殊用法
题目描述: 题目编号:1002. 查找常用字符 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次, ...
- Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数
一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...
- python常用模块(1):collections模块和re模块(正则表达式详解)
从今天开始我们就要开始学习python的模块,今天先介绍两个常用模块collections和re模块.还有非常重要的正则表达式,今天学习的正则表达式需要记忆的东西非常多,希望大家可以认真记忆.按常理来 ...
- python标准库:collections和heapq模块
http://blog.csdn.net/pipisorry/article/details/46947833 python额外的数据类型.collections模块和heapq模块的主要内容. 集合 ...
- 转载:Python中collections模块
转载自:Python中collections模块 目录 Python中collections模块 Counter defaultdict OrderedDict namedtuple deque Ch ...
- python collections.Counter笔记
Counter是dict的子类,所以它其实也是字典.只不过它的键对应的值都是计数,值可以是任意整数.下面是四种创建Counter实例的例子: >>> c = Counter() # ...
- python初探-collections容器数据类型
collections容器数据类型是对基本数据类型的补充,简单介绍下计数器.有序字典.默认字典.可命名元祖.队列. 计数器(Counter) Counter是对字典类型的补充,用于追踪值得出现次数 c ...
随机推荐
- FastDFS文件同步
FastDFS同步相关文件: a)10.100.66.82_23000.mark 内容如下: binlog_index=0 binlog_offset=1334 need_sync_old=1 syn ...
- CF1574F Occurrences
考虑什么样的串是合法的. 直接考虑比较抽象,考虑具象化这个问题. 容易发现一个字符串的限制就相当于如果出现了其中一个字符 \(a_i = c\),那么 \(s\) 中 \(c\) 前 \(i - 1\ ...
- 诗和远方-target
学习也是这样:不以结婚为目的的谈恋爱,都是耍流氓!
- Centos下安装配置WordPress与nginx教程
感谢大佬:https://www.howtoing.com/how-to-install-wordpress-with-nginx-on-centos-6-2 WordPress是一个免费和开源网站和 ...
- MySQL--事件/定时器
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11777311.html MySQL--事件/定时器 : 多个SQL的集合, 定时执行任务. 查 ...
- Linux 内核引导参数简介
概述 内核引导参数大体上可以分为两类:一类与设备无关.另一类与设备有关.与设备有关的引导参数多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导参数.比如,如果你想知道可以向 AHA ...
- 添加了tabBar之后就不能使用wx.navigateTo跳转页面
我在app.json中添加了增加底部选项卡的代码如下: { "pages": [ "pages/index/index", "pages/lo ...
- Spring 是怎么处理循环依赖的?
Java语法中的循环依赖 首先看一个使用构造函数的循环依赖,如下: public class ObjectA { private ObjectB b; public ObjectA(ObjectB b ...
- 泛型、Junit
一. 泛型 1.泛型的好处 **1)编译时,检查添加元素的类型,提高了安全2)减少了类西较换的次数,提高效率 不使用泛型Dog -> Object -> Dog //放入到ArrayLis ...
- ajax请求egg用nginx转发跨域问题
火狐浏览器报的 谷歌浏览器报的 前提: npm i egg-cors --save config 文件下的pulgin.js 已经添加 //启用跨域支持 exports.cors = { enable ...