单词统计详解---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))

完整代码

相关推荐
roman_日积跬步-终至千里2 分钟前
【Java并发】用 JMM 与 Happens-Before 解决多线程可见性与有序性问题
java·开发语言·spring
空空kkk2 分钟前
SSM项目练习——hami音乐(三)
java·数据库
好奇的菜鸟9 分钟前
Ubuntu 18.04 启用root账户图形界面登录指南
数据库·ubuntu·postgresql
天桥下的卖艺者10 分钟前
使用R语言编写一个生成金字塔图形的函数
开发语言·数据库·r语言
爬山算法11 分钟前
Hibernate(78)如何在GraphQL服务中使用Hibernate?
java·hibernate·graphql
lisanmengmeng11 分钟前
添加ceph节点
linux·服务器·ceph
Tinyundg15 分钟前
Linux系统分区
linux·运维·服务器
独断万古他化16 分钟前
【Spring 核心:AOP】基础到深入:思想、实现方式、切点表达式与自定义注解全梳理
java·spring·spring aop·aop·切面编程
要做一个小太阳18 分钟前
华为Atlas 900 A3 SuperPoD 超节点网络架构
运维·服务器·网络·华为·架构
Facechat22 分钟前
鸿蒙开发入坑篇(九):本地数据库 (RDB) 深度解析
数据库·华为·harmonyos