单词统计详解---pyhton

有一个.txt的文本文件,对齐单词进行统计,并显示单词重复做多的10个单词

思路:

1将文本文件进行逐行处理,并进行空格分割处理

2新建一个字典,使用get方法将单词一次添加到字典中,并用sorted方法进行排序。

这里解释一下最后一句的意思,有些同学可能看不懂。

3统计path单词个数

但是path有很多其他符号,如何提取,只保留path单词呢?

方法1:

创建一个列表,使用replace将特俗符号换成空格,添加到列表中,不是的直接添加到列表中,使用split方法分割出空格

方法二使用正则表达式

方法三使用切片

def make_key(line: str):

line = line.lower()

chars = set("""~!@#$%^&*()_-+=|{}[]:;"'<>?/,.\n\r\t""")

ret = []

start=0

length=len(line)

for i,c in enumerate(line):

if c in chars:

if start==i:#说明连续两个字符是特殊字符,

start+=1

continue#跳过

ret.append(line[start:i])

start=i+1

else:

if start<length:

ret.append(line[start:])

return ret

line="b([a"#出现连续非法字符

#line="""os.path.commomprefix(['/usr/lib' split/replace sub'"""

print(*make_key(line))

完整代码

相关推荐
Albert Tan6 分钟前
Oracle 使用DB_Link同步MySQL数据
数据库·mysql·oracle
R-sz8 分钟前
UE5.4 打包报错 error C4668 C4067
java·前端·ue5
zhengxianyi5159 分钟前
ruo-vue-pro 启用任务调度模块并新增一个job
java·vue.js·spring boot
执笔画情ora10 分钟前
PG数据库管理-PostgreSQL 常用命令行元命令汇总
数据库·postgresql·oracle
Nuopiane10 分钟前
Pal3.Unity开源项目复刻(八)其余
java·服务器·前端
Schengshuo12 分钟前
Redis简介、常用命令及优化
数据库·redis·缓存
Zfox_13 分钟前
【Docker#6】Docker 容器常用命令
linux·运维·服务器·docker·容器
冉冰学姐13 分钟前
基于ssm的个性化旅游助手设计与实现2f9h41fv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·旅游·ssm 框架
数据知道18 分钟前
MongoDB的Oplog:MongoDB 数据同步的核心机制
数据库·mongodb
计算机徐师兄19 分钟前
Java基于微信小程序的社区垃圾回收管理系统【附源码、文档说明】
java·微信小程序·社区垃圾回收管理系统·社区垃圾回收管理系统小程序·社区垃圾回收管理微信小程序·社区垃圾回收管理小程序·jav社区垃圾回收管理小程序