开始学习python,习题需要统计单词个数和频次。百度找到的代码好像都有问题。自己写了一个,调试通过。

环境:python: 3.9.1 64bit ;  pycharm: 2020.2  电脑 win10  64

思路如下:

1. 打开文件,将所有字符读入list:s

2. 使用正则表达式,以非英文字符为间隔符,切片,生成一个以单词为基本元素的list

3.由于原先非字母可能连续,故生成的list可能存在空单词,所以需要去除空串

4.全部转成小写,并排序。

5. 将单词顺次存入dict,如果单词存在,则个数加一,如果不存在,则将此单词存入dict,个数设置为1

6. 输出

代码和注释如下:

import re #re模块主要功能是通过正则表达式是用来匹配处理字符串

def main(fileName):

try:

inf= open(fileName,'r')

s = inf.read()

words =re.split(r'[^a-zA-Z]',s) #以非英文字符为间隔生成list

realWords0= list(filter(None,words)) #去除空串

realWords1 =[]

for word in realWords0:

realWords1.append(word.lower()) #均转换为小写

realWords1.sort()

print("word NO: ",len(realWords1))

dict1 =dict()

for word in realWords1:

if(word in dict1): dict1[word] =dict1[word]+1

else: dict1[word]=1

for item in dict1.items():

#print(item)

print(item[0],item[1])

except IOError:

exit("That file couldn't be opened.")

return 1

main("word.txt")

python统计单词个数算法_python 统计单词个数和频次相关推荐

  1. 用python解决数据结构与算法_python中各种数据结构与算法的解决技巧

    四.如何统计序列中元素的频度1.某随机序列[12,5,6,4,6,5,5,7]中,找到出现次数最高的3个元素,它们出现次数是多少? 解决方案1:将序列转换为字典{元素:频度},根据字典中的值排序> ...

  2. python统计单词个数算法_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...

    题目: 用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数. 常规解法 怎么判定单词? 1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符的处 ...

  3. python统计汉字个数是_python统计中文字符数量的两种方法

    方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...

  4. python查看列表有多少元素_python 统计列表中元素的数量

    一.统计列表中不同元素的个数 这个需求是统计列表中不同元素有几个,由于列表是允许存在重复元素的,但是集合却不允许存在重复元素,所以可以将list转换为set,然后求长度. list=[1,2,1,2, ...

  5. python排序统计重复的数_Python统计列表(List)中的重复项出现的次数并进行排序...

    学习Python的过程中,你会遇到各种各样的坑,不要觉得难,当你去踩过就会觉得很简单了! 正文: 题目概述 对于一个列表,比如List = [1,2,3,4,5,3,2,1,4,5,6,4,2,3,4 ...

  6. python如何统计出现的次数_Python统计日志中每个IP出现次数的方法

    本文实例讲述了Python统计日志中每个IP出现次数的方法.分享给大家供大家参考.具体如下: 这脚本可用于多种日志类型,本人测试MDaemon的all日志文件大小1.23G左右,分析用时2~3分钟 代 ...

  7. python快递分拣小程序_python英语单词测试小程序代码实例

    这篇文章主要简介了python英语单词测试小程序代码实例,文中通过示例代码简介的非常具体,对大家的学习或者工作具有一定的参考学习网上卖,需要的朋友可以学习下 爬取了扇贝英语网,并制作了一个英语单词测试 ...

  8. python 多条件 选择 算法_python部署python算法 - 快速寻找满足条件的两个数

    题目前提是一定存在这样两个数 解法一就不写了...一般想不到吧 一开始想到的是解法二最后的用hash表 (其实是想到创建一个跟target一样大的数组啦..存在就写入index,但是要全部找出,那得二 ...

  9. python乘法表代码注释_Python统计python文件中代码,注释及空白对应的行数示例【测试可用】...

    本文实例讲述了Python实现统计python文件中代码,注释及空白对应的行数.分享给大家供大家参考,具体如下: 其实代码和空白行很好统计,难点是注释行 python中的注释分为以#开头的单行注释 或 ...

最新文章

  1. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
  2. 解决IOS滑动页面fixed浮动问题
  3. React系列---Webpack环境搭建(二)不同环境不同配置
  4. WildFly 10 CR 2发布– Java EE 7,Java 8,Hibernate 5,JavaScript支持热重载
  5. 第四章 企业项目开发--切分配置文件
  6. Atcoder 077E - guruguru(线段树+dp)
  7. 【C语言】矩阵的最大值(指针专题)
  8. Linux AIO的新归宿:io_uring(介绍,系统调用)
  9. 【洛谷】【堆+贪心】P1484 种树
  10. IIS错误信息--另一个程序正在使用此文件,进程无法访问!
  11. http status 状态码汇总
  12. 微信小程序用RSA加密和java后台对接。
  13. Vue TodoList案例
  14. 2013Esri全球用户大会QA之GIS发展状况和趋势
  15. 打开Word时会出现错误的解决办法
  16. qrc文件编译到可执行文件exe
  17. 简明C语言教程(七)scanf 用法
  18. Linux之shell脚本编程、多命令、脚本、bc计算器、反引号、if语句、for语句
  19. 柠檬班python自动化百度云_柠檬班python
  20. c语言大地坐标系和空间直角坐标系的转换,空间直角坐标系与大地坐标系转换程序.doc...

热门文章

  1. 微信小程序订单生成支付二维码接口 code
  2. Oracle提取中文字符串拼音首字母函数
  3. 显示计算机名在桌面壁纸,Windows桌面壁纸自动显示计算机详细信息小工具–BgInfo...
  4. 工程伦理--4.2 划界法
  5. 基于tkinter制作的一个策略小游戏
  6. 这篇寒门博士论文致谢火了:回首望过去,可怜无数山...
  7. 网络编程学习笔记-套接字编程-socket
  8. 2021考研——浙江大学控制科学与工程专业考研经验贴(845自动控制原理)
  9. APP:校园网登录app—中小南—源码简析
  10. 华为数据管理与分析课程