python怎么读取txt文件内容找重复出现的次数

测试数据:test1.txt

    发的发生地方大师傅申达股份电话费归属感 发生大范甘迪是大哥大法官 更广泛的苟富贵给对方是个 公司的符合规范还是发的规范的公司

代码:

    # -*- coding: utf-8 -*- # 打开文件 fr=open('test1.txt','r', encoding='UTF-8') # 读取文件所有行 content=fr.readlines() contentLines='' characers=[]#存放不同字的总数 rate={}#存放每个字出现的频率 # 依次迭代所有行 for line in content: # 去除空格 line=line.strip() #如果是空行,则跳过 if len(line)==0: continue contentLines = contentLines + line # 统计每一字出现的个数 for x in range(0,len(line)): # 如果字符第一次出现 加入到字符数组中 if not line[x] in characers: characers.append(line[x]) # 如果是字符第一次出现 加入到字典中 if line[x] not in rate: rate[line[x]]=1 #出现次数加一 rate[line[x]]+=1 # 对字典进行倒数排序 从高到低 其中e表示dict.items()中的一个元素, # e[1]则表示按 值排序如果把e[1]改成e[0],那么则是按键排序, # reverse=False可以省略,默认为升序排列 rate=sorted(rate.items(), key=lambda e:e[1], reverse=True) print('全文共有%d个字'%len(contentLines)) print('一共有%d个不同的字'%len(characers)) print() for i in rate: print("[",i[0],"] 共出现 ", i[1], "次") fr.close()

运行结果:

    全文共有59个字 一共有40个不同的字 [ 的 ] 共出现 6 次 [ 发 ] 共出现 5 次 [ 大 ] 共出现 5 次 [ 范 ] 共出现 4 次 [ 是 ] 共出现 4 次 [ 生 ] 共出现 3 次 [ 方 ] 共出现 3 次 [ 公 ] 共出现 3 次 [ 司 ] 共出现 3 次 [ 规 ] 共出现 3 次 [ 地 ] 共出现 2 次 [ 师 ] 共出现 2 次 [ 傅 ] 共出现 2 次 [ 申 ] 共出现 2 次 [ 达 ] 共出现 2 次 [ 股 ] 共出现 2 次 [ 份 ] 共出现 2 次 [ 电 ] 共出现 2 次 [ 话 ] 共出现 2 次 [ 费 ] 共出现 2 次 [ 归 ] 共出现 2 次 [ 属 ] 共出现 2 次 [ 感 ] 共出现 2 次 [ 甘 ] 共出现 2 次 [ 迪 ] 共出现 2 次 [ 哥 ] 共出现 2 次 [ 法 ] 共出现 2 次 [ 官 ] 共出现 2 次 [ 更 ] 共出现 2 次 [ 广 ] 共出现 2 次 [ 泛 ] 共出现 2 次 [ 苟 ] 共出现 2 次 [ 富 ] 共出现 2 次 [ 贵 ] 共出现 2 次 [ 给 ] 共出现 2 次 [ 对 ] 共出现 2 次 [ 个 ] 共出现 2 次 [ 符 ] 共出现 2 次 [ 合 ] 共出现 2 次 [ 还 ] 共出现 2 次