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

完整代码

相关推荐
乌萨奇也要立志学C++9 分钟前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
努力也学不会java12 分钟前
【设计模式】抽象工厂模式
java·设计模式·oracle·抽象工厂模式
-Xie-21 分钟前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
用户60830892904722 分钟前
集合处理利器,Java中的Stream流API
java·后端
玉衡子23 分钟前
八、MySQL全局优化总结&MySQL8新特性
java·mysql
七夜zippoe25 分钟前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
9号达人25 分钟前
Java 14 新特性详解与实践
java·后端·面试
ytadpole28 分钟前
揭秘XXL-JOB:Bean、GLUE 与脚本模式的底层奥秘
java·后端
计算机毕业设计木哥43 分钟前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计
青衫客3643 分钟前
Spring异步编程- 浅谈 Reactor 核心操作符
java·spring·响应式编程