-
2019-11-10 20:57:19
对给出的列表进行词频统计,将单词与单词出现次数对应起来,以字典的形式输出
列表如下
l1=['a','a','b','b','b','c','c','c','c','d','d','d','d']
l1=['a','a','b','b','b','c','c','c','c','d','d','d','d'] print(l1) b=dict.fromkeys(l1,0) print(b) for x in l1: b[x]+=1 print(b)
输出结果:
['a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd'] {'a': 0, 'b': 0, 'c': 0, 'd': 0} {'a': 2, 'b': 3, 'c': 4, 'd': 4}
更多相关内容 -
python利用字典统计词频的两种方式
2021-11-20 13:30:22python利用字典统计词频的两种方式 1、自带collections库 >>> import collections >>> s = 'collection' >>> collections.Counter(s) Counter({'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1,...python利用字典统计词频的两种方式
1、自带collections库
>>> import collections >>> s = 'collections' >>> collections.Counter(s) Counter({'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1}) >>> dict(collections.Counter(s)) {'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1}
2、初始化dict并计数
dict_s = {} s = 'collections' for c in s: if c not in dict_s: dict_s[c] = 1 else: dict_s[c] += 1 print(dict_s) # {'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1, 's': 1}
-
利用python实现词频统计
2021-10-16 18:31:42词频统计软件: 1)从文本中读入数据:(文件的输入输出) 2)不区分大小写,去除特殊字符。 3)统计单词 例如:about :10 并统计总共多少单词 4)对单词排序。出现次数 5)输出词频最高的10个单词和次数 6)把统计...这是我们老师的作业 代码中都有注释
要求
词频统计软件:
1)从文本中读入数据:(文件的输入输出)
2)不区分大小写,去除特殊字符。
3) 统计单词 例如:about :10 并统计总共多少单词
4)对单词排序。出现次数
5)输出词频最高的10个单词和次数
6)把统计结果存入文本
1.文件的读取,区分大小写,去除特殊字符
import re def getword(): # 读取文件 f=open('read.txt','r',encoding='utf-8') # 将大写转化成小写 word=f.read().lower() # 关闭文件 f.close() #利用正则除去特殊字符 |\符+ list=re.split('\s+|\,+|\.+|\!+|\:+|\?+|\;+|\(+|\)+|\-+|\_+|\=+|\++|\“+|\、+|\/+|\{+|\}+|\”+|\:+|\。+|\“+|\[+|\]+|\【+|\】+|\—+|\%+|\"+',word) # 遍历列表 去除列表中的空格 i = 0 while i < len(list): if list[i] == '': list.remove(list[i]) i -= 1 i += 1 # for a in list: # if a == "": # list.remove(a) #用for循环的话如果存在多个空字符串 其列表会随时发生变化,导致无法正常删除空字符串 所以在使用for…in循环遍历列表时,最好不要对元素进行增删操作 # 对于others'优化 如果最后一个字符是‘就将’其去掉 for i in range(len(list)): l=list[i] if list[i][-1] == "'": list[i] = list[i][:-1] return list
2. 统计,排序
from getfilewords import getword def statistics(): dict={} #定义一个空的字典,在后面的运算中逐步添加数据 words=getword() for word in words: #遍历整个列表 if word in dict.keys(): #判断当前单词是否已经存在 dict.keys()是已存进字典中的单词 # 补充:keys() 方法用于返回字典中的所有键; # values() 方法用于返回字典中所有键对应的值; #详情见Test1 dict[word]=dict[word]+1 #在当前单词的个数上加 1 else: dict[word]=1 #当前单词第一次出现时 会把单词写入dict字典里 格式为 ‘单词’=1 #排序 w_order=sorted(dict.items(),key=lambda x:x[1],reverse=True) # print(dict.items()) # dict.items()返回的是列表 # 按字典集合中,每一个元组的第二个元素排列。 # sorted会对dict.items()这个list进行遍历,把list中的每一个元素,也就是每一个tuple()当做x传入匿名函数lambda x:x[1],函数返回值为x[1] # reverse属性True为降序 False为升序 return w_order #返回排序后的列表
3.结果写入文本
from WordStatistics import statistics def writefile(): w_order=statistics() f = open('result.txt', 'w',encoding='utf-8') print("文章单词总个数:",+len(getword()),file=f) print("文章单词总个数:", +len(getword())) # 写入文件 print("词频最高的10个单词和次数",file=f) print("词频最高的10个单词和次数") w_order10=w_order[:10]#将列表的前十位提取并且遍历 输出key(单词)和values(次数) for key,values in w_order10: print(key,':',values,file=f) print(key, ':', values) #遍历列表中的所有数据 print("统计结果",file=f) for key,values in w_order: print(key,':',values,file=f) f.close()#关闭文件
4.程序入口
import os from writefile import writefile print("词频统计软件") print("正在统计中。。。") print("统计成功,结果保存到result.txt") writefile() print("程序运行结束") os.system("pause")
5.运行截图
这是需要统计的文本
运行程序
运行结果
最后成功实现!
-
python实现简单中文词频统计示例
2020-12-24 16:21:44本文介绍了python实现简单中文词频统计示例,分享给大家,具体如下: 任务 简单统计一个小说中哪些个汉字出现的频率最高 知识点 1.文件操作 2.字典 3.排序 4.lambda 代码 import codecs import matplotlib.pyplot ... -
用python实现词频统计
2021-07-30 19:23:05用python实现词频统计 词频统计就是输入一段句子或者一篇文章,然后统计句子中每个单词出现的次数。 那么,这个在python中其实是很好实现的,下面我们来看看具体是怎样实现的,里面又用到了哪些知识呢? 输入一段话...用python实现词频统计
词频统计
就是输入一段句子或者一篇文章,然后统计句子中每个单词出现的次数。那么,这个在python中其实是很好实现的,下面我们来看看具体是怎样实现的,里面又用到了哪些知识呢?
输入一段话,统计每个字母出现的次数
先来讲一下思路:
例如给出下面这样一句话
Love is more than a word
it says so much.
When I see these four letters,
I almost feel your touch.
This is only happened since
I fell in love with you.
Why this word does this,
I haven’t got a clue.那么想要统计里面每一个单词出现的次数,思路很简单,遍历一遍这个字符串,再定义一个空字典count_dict,看每一个单词在这个用于统计的空字典count_dict中的key中存在否,不存在则将这个单词当做count_dict的键加入字典内,然后值就为1,若这个单词在count_dict里面已经存在,那就将它对应的键的值+1就行
下面来看代码:
#定义字符串 sentences = """ # 字符串很长时用三个引号 Love is more than a word it says so much. When I see these four letters, I almost feel your touch. This is only happened since I fell in love with you. Why this word does this, I haven't got a clue. """ #具体实现 # 将句子里面的逗号去掉,去掉多种符号时请用循环,这里我就这样吧 sentences=sentences.replace(',','') sentences=sentences.replace('.','') # 将句子里面的.去掉 sentences = sentences.split() # 将句子分开为单个的单词,分开后产生的是一个列表sentences # print(sentences) count_dict = {} for sentence in sentences: if sentence not in count_dict: # 判断是否不在统计的字典中 count_dict[sentence] = 1 else: # 判断是否不在统计的字典中 count_dict[sentence] += 1 for key,value in count_dict.items(): print(f"{key}出现了{value}次")
输出结果是这样:
怎么样,大家get到了吗?赶紧试试
如果对你有帮助,不要忘记点赞评论关注加收藏哦!
-
利用python做词频统计
2018-05-15 07:52:28方法一:利用python字典的方式 speech_etxt = ''' My fellow citizens: I stand here today humbled by the task before us, grateful for the trust you've bestowed, mindful of the sacrifices borne by our ... -
Python词频统计
2021-12-13 15:04:47jieba库的使用、词频统计 -
python字典的get{}常用操作之词频统计
2020-06-15 20:32:261 字典的创建 1.1 法一:dict1={} 1.2 法二:dict2=dict() 2 若字典中已经有数据,即键值对存在 例:dict3={‘张三’:10,‘李四’:20} “张三、李四”称为该字典的键;”10、20“称为该字典的值。 get()可以直接... -
python词频统计排序小demo
2021-09-02 14:25:43恰逢某只考拉学python,俺也来玩玩 准备工作 随便来个txt文件,里面写了一些英文(中文也行),这里我们用utf-8格式 主要代码: with open("The Phantom Rider.txt", encoding='utf-8') as text: words = text.read... -
Python如何进行词频统计?3种方法教给你
2021-01-14 14:36:08以下文章来源于快学Python ,作者小小明 Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542 数据准备 importjieba withopen("D:/hdfs/novels/天龙八部.... -
Python读取文件后进行词频统计
2021-11-26 00:41:151引言本文解决由粉丝提出的问题。2问题我们在使用python函数获取文件后,有时需要对该文件进行词频统计。本文将通过对英文文件的读取和中文文件的读取进行讲解。3 方法一.统计英文文档中的... -
Python中英文词频统计
2022-04-10 09:39:28Python中英文词频统计的简单使用方法 -
【Python】利用jieba库词频统计
2021-12-03 11:39:49#这句关键,用words列表中的每个单词去索引字典, # 已经有这个键的话就把相应的值加1,没有的话就取值为0,再加1 if len(word)==1: continue elif word=="诸葛亮"or word=="孔明曰": rword="孔明" elif word==... -
Python字典使用--词频统计的GUI实现
2020-11-24 05:13:48字典是针对非序列集合而提供的一种数据类型,字典中的数据是无序排列的。字典的操作为字典增加一项dict[key] = valuestudents = {"Z004":"John","T002":"Peter"}studentsOut[23]: {'T002': 'Peter', 'Z004': 'John'}... -
用Python的字典dict和列表list实现简单的单词词频统计
2020-10-13 16:41:23利用字典dict和列表list进行词频统计 -
用Python进行词频统计
2020-04-04 00:15:35英文文本词频统计 def getText(): txt = open("hamlet.txt","r").read()#读取文件 txt = txt.lower() #把文本全部变为小写 for ch in '|"#$%&^()*+,-./:;<>=?@[]\\_‘{}~':#把特殊字符变为空格 txt = ... -
如何利用Python进行文本词频统计
2020-12-03 15:23:37所以我们经常会遇到利用Python从一篇文档中,统计文本词频的问题。以《三国演义》这部名著为例,文中哪些人物的出场次数最多呢?让我们用Python来解决看看吧!解决方案在实际计算中,我们常常遇到需要同时处理多个... -
使用Python进行英文词频统计
2019-03-11 16:54:42对一篇英文文章进行词频统计重点在于内容去噪和归一化,可用split()进行分词。本文以《飘》为例,统计词频最高的前十位。 1.读取文件,通过lower()、replace()函数将所有单词统一为小写,并用空格替换特殊字符。 ... -
python统计词频的三种方法
2020-11-24 11:14:181、利用字典dict来完成统计#举例:a = [1 2 3 1 1 2]dict = {}for key in a:dict[key] = dict.get(key 0) + 1 #字典的get函数可以查询键的值,0代表默认值每出现一次加1print (dict)输出结果: >>>{1: 3 2: 2 3: 1}2... -
python词频统计编程出现的问题(部分内容经转载)
2018-08-18 15:44:12使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述... -
python_复习_内置数据结构_集合 字典 词频统计练习
2021-12-05 22:22:10文章目录1. 集合2. 字典3. 练习 1. 集合 2. 字典 3. 练习 -
Python简单方法实现英文文本词频统计
2022-03-12 14:23:34给定一段英文字符串,要求统计其中所有单词出现的频率,将结果封装进字典 解题思路: 使用到的方法: replac("a","b") 将字符串中的a字符替换成b split() 将字符串以空格符,制表符,回车符为标志分割成单独元素并封装... -
Python中文词频统计
2020-12-03 15:23:33以下是关于小说的中文词频统计这里有三个文件,分别为novel.txt、punctuation.txt、meaningless.txt。这三个是小说文本、特殊符号和无意义词Python代码统计词频如下:import jieba # jieba中文分词库# 从文件读入... -
词云图 Python利用jieba库做词频统计
2020-11-24 11:14:14一.环境以及注意事项1.windows10家庭版 python 3.7.12.需要使用到的库 wordcloud(词云),jieba(中文分词库),安装过程不展示请安装到C:\Windows\Fonts 里面5....词频统计以及输出(1) 代码如下(封装为tx... -
python实现文本词频统计分析,计算距离重心和词云可视化
2021-09-18 14:49:24import jieba import math import wordcloud import matplotlib.pyplot as plt #构建停用词列表 def stopword(path1): file = open(path1,'r',encoding='utf-8') ...#统计词频和高频词 def comme. -
python词频统计的方式
2018-04-10 17:45:51现有列表如下:[6, 7, 5, 9, 4, 1, 8, 6, 2, 9]希望统计各个元素出现的次数,可以看作一个词频统计的问题。我们希望最终得到一个这样的结果:{6:2, 7:1...}即 {某个元素:出现的次数...}首先要将这些元素作为字典的...
收藏数
2,491
精华内容
996