单词统计详解---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(linestart:i)

start=i+1

else:

if start<length:

ret.append(linestart:)

return ret

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

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

print(*make_key(line))

完整代码

相关推荐
San813_LDD11 小时前
[C语言]《Dev-C++ 报错解决手册(Day0607 精华版)》
java·前端·javascript
Anastasiozzzz12 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
007张三丰18 小时前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
海南java第二人18 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
wang090718 小时前
自己动手写一个spring之IOC_2
java·后端·spring
weixin_6042366719 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
来杯@Java19 小时前
学生选课管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·maven·mybatis
曹牧19 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱19 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle