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

完整代码

相关推荐
yuren_xia4 分钟前
Spring XML 配置
xml·java·spring
DarkAthena10 分钟前
【ORACLE】记录一些ORACLE的merge into语句的BUG
数据库·oracle·bug
難釋懷13 分钟前
Shell脚本-for循环应用案例
linux·运维·服务器·bash
小鸡脚来咯20 分钟前
SpringBoot 常用注解大全
java
何双新27 分钟前
L3-3、从单轮到链式任务:设计协作型 Prompt 系统
服务器·搜索引擎·prompt
风铃儿~36 分钟前
Java面试高频问题(26-28)
java·算法·面试
大新新大浩浩42 分钟前
arm64适配系列文章-第三章-arm64环境上mariadb的部署
数据库·arm·mariadb
IT瘾君43 分钟前
Java基础:认识注解,模拟junit框架
java·开发语言·junit
风象南1 小时前
SpringBoot中3种内容协商策略实现
java·spring boot·后端
聪明的墨菲特i1 小时前
SQL进阶知识:九、高级数据类型
xml·数据库·sql·mysql·json·空间数据类型